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

Dan*_*arc 2 java sms android kotlin android-10.0

您好,我正在努力将我的应用程序兼容性更新为 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)
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*arc 6

仔细阅读文档后,我发现他们已经更新了直接意图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)
}
Run Code Online (Sandbox Code Playgroud)

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