更改在 android 10 上不起作用的默认短信应用意图

Change default sms app intent not working on android 10

您好,我正在努力将我的应用程序兼容性更新为 android 10 和 11,之前我将我的应用程序设置为默认短信应用程序并从我的应用程序接收和发送新短信,意图更改默认短信应用程序在 android 10 以下工作正常,但它没有显示更改默认短信应用程序弹出 android 10

 val intent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT)
                            intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName)
                            startActivity(intent)

如果有人知道 android 10 发生了什么变化,请提出建议,因为我无法在 developer.android.com 上找到任何变化,在此先感谢

仔细阅读文档后,我知道他们已经更新了直接意图 RoleManager

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P) {
    val roleManager = getSystemService(RoleManager::class.java)
    val roleRequestIntent = roleManager.createRequestRoleIntent(RoleManager.ROLE_SMS)
    startActivityForResult(roleRequestIntent, 12)
} else {
    val intent = Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT)
    intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, packageName)
    startActivity(intent)
}

这是更新所有必需访问权限的新方法 以供参考 :- https://developer.android.com/reference/android/app/role/RoleManager