您好,我正在努力更新我的应用程序与 android 10 和 11 的兼容性,之前我将我的应用程序设置为默认短信应用程序并从我的应用程序接收和发送新短信,更改默认短信应用程序的 Intent 在 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
更新了直接 Intent ,
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
关于java - 更改默认短信应用 Intent 不适用于 Android 10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64135681/