【发布时间】:2020-06-27 19:04:30
【问题描述】:
我目前无法让我的应用向用户发送对话框以在 API 29 上设置默认拨号器,但相同的代码在 Android 10 (Q) 下运行良好。
我也测试了这个No response from intent to prompt user to set default handler for SMS 示例,但不适用于我的示例。然后我关注了https://developer.android.com/guide/topics/permissions/default-handlers,但没有解决我的问题。 API 级别 29 或更高版本是否有任何特殊更改以让用户设置默认应用程序?
这是我的工作代码(适用于 Android 10 以下)
TelecomManager telecomManager = (TelecomManager) getSystemService(TELECOM_SERVICE);
if (!getPackageName().equals(telecomManager.getDefaultDialerPackage())) {
Intent intent = new Intent(ACTION_CHANGE_DEFAULT_DIALER)
.putExtra(EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, getPackageName());
startActivity(intent);
}
我在 logcat 中得到的就在这里
【问题讨论】:
标签: android android-intent android-permissions telephonymanager android-10.0