长安逸动plus安装三方播放器没声音

系统自带酷我,如果安装酷狗,QQ音乐播放没有声音,必须打开酷我才能有声音和方控。但是把酷狗包名改成酷我包名就能正常使用,怀疑系统只能识别酷我包名。有没有办法从系统文件入手。

所谓“新势力”的厂商和用户都是无知而无畏的。厂商弄一些花里胡哨而不成熟的技术堆砌。而用户也是胡乱折腾,丝毫不理解一辆汽车被弄出故障的现实危险性。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7793439
  • 你也可以参考下这篇文章:类似QQ登陆界面保存密码和账号下拉选择框
  • 您还可以看一下 田德华老师的小程序·云开发实战 微信朋友圈所有功能课程中的 项目介绍 qq:1306749621小节, 巩固相关知识点
  • 除此之外, 这篇博客: QQ主页抽屉效果实现,有趣的弹簧动效中的 复现第一步,整一个沉浸式状态栏,状态栏有个头像可以打开抽屉 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

    新建个 Activity,命名为 DrawerActivity:

    class DrawerActivity : AppCompatActivity() {
        companion object {
            private const val TAG = "DrawerActivity"
        }
    
        private lateinit var binding: ActivityDrawerBinding
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            binding = ActivityDrawerBinding.inflate(layoutInflater)
            setContentView(binding.root)
        }
    }
    

    用 ViewBinding 绑定布局文件,接下来编辑 Activity 的布局文件:

    <androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/drawerLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#000000"
            tools:openDrawer="start"
            tools:context=".dawerlayout.DrawerActivity">
    
        <!-- Main Content -->
        <androidx.appcompat.widget.LinearLayoutCompat
                android:id="@+id/mainContainer"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">
    
            <androidx.appcompat.widget.Toolbar
                    android:id="@+id/toolbar"
                    android:layout_width="match_parent"
                    android:layout_height="56dp"
                    app:subtitleTextColor="#FFFFFF"
                    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
                    app:title="个人中心"
                    app:titleTextColor="#FFFFFF" />
    
            <RelativeLayout
                    android:id="@+id/contentContainer"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#FFFFFF">
    
                <androidx.appcompat.widget.AppCompatTextView
                        android:id="@+id/tvContent"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="主页内容"
                        android:textSize="16sp"
                        android:textColor="#000000"
                        android:layout_centerInParent="true" />
            </RelativeLayout>
        </androidx.appcompat.widget.LinearLayoutCompat>
    
        <!-- Drawer -->
        <com.google.android.material.navigation.NavigationView
                android:id="@+id/navigationView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="start"
                android:background="#AFEEEF"
                app:headerLayout="@layout/navigationview_header"/>
    
    </androidx.drawerlayout.widget.DrawerLayout>
    

    布局文件就不过多说明了,就是简简单单,一个主页的壳子。

    3_toolbar_实现.png

    不过目前 Activity 自带的 ActionBar 还在,我们需要把它去掉

    <activity android:name=".dawerlayout.DrawerActivity"
            android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>
    

    设置完这个属性,重启 Activity 会发现状态栏是灰色的,因此需要将状态栏的颜色改为透明,实现一个沉浸式状态栏的效果。向 Activity 中添加如下代码:

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityDrawer2Binding.inflate(layoutInflater)
        setContentView(binding.root)
    
        setStatusBar()
    }
    
    private fun setStatusBar() {
        // 利用状态栏工具类
        StatusBarUtil.fitStatusLayout(this, binding.toolbar, true)
    }
    

    这里利用了一个StatusBarUtil状态栏工具类来设置沉浸式状态栏,代码文件可以在这个

    地址获取。

    看下沉浸式状态栏设置后的效果:

    4_沉浸式状态栏设置.png

    下一步给标题栏左部整个头像,实现点击头像可以打开抽屉的效果:

    向 Activity 中添加如下代码:

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityDrawer2Binding.inflate(layoutInflater)
        setContentView(binding.root)
    
        setStatusBar()
    
        binding.toolbar.setNavigationIcon(R.drawable.icon_head)
        binding.toolbar.setNavigationOnClickListener {
            binding.drawerLayout.openDrawer(Gravity.LEFT, true)
        }
    }
    

    5_抽屉打开演示.gif

    好的,抽屉打开了,但是可以看到,抽屉打开后,抽屉的右部离屏幕右边还有一小段间隙,我们希望抽屉打开后可以占满全屏。虽然我们在布局文件已经给 NavigationView设置了 match_parent 的宽度,但DrawerLayout默认会给抽屉留有 65dp 的间隙空间,我们可以给 NavigationView 设置 -65dp 的右边距,让抽屉打开时占满全屏:

    <!-- Drawer -->
    <com.google.android.material.navigation.NavigationView
    				...
            android:layout_marginRight="-65dp"
            ... />
    

    这样抽屉打开时就可以占满全屏了。

    6_抽屉全屏演示.gif


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^