系统忘记了 Android 10 和 11 上的默认启动器设置某些默认值保留

问题描述

在 Android 9 和以前的版本上,如果用户将您的应用设为认启动器一次,操作系统会将认打开设置保持为某些认设置 。因此,当应用程序第二次成为认启动器时,系统不会再次询问用户

但对于 Android 10 和 11,如果某些应用成为认启动器,系统会将所有其他 HOME 应用的认打开设置标记未设置认值

因此,系统每次都会询问用户是否要将应用设置为认启动器,从而惹恼用户。我怎样才能防止这种情况?

    val intent = Intent(Intent.ACTION_MAIN)
    intent.addCategory(Intent.CATEGORY_HOME)
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
    intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
    applicationContext.startActivity(intent)

清单:

  <activity android:name=".LauncherActivity"
        android:launchMode="singleInstance"
        android:stateNotNeeded="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.HOME"/>
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...