我有正常的电话'拨号器和我有新的拨号器'应用程序。现在,如果我检查"默认使用此操作"并点击“拨号器”'应用程序然后每当我按下电话按钮时,拨号器'应用程序将自动启动。但是如何在代码中更改此内容?
存储此偏好的位置?
这是如何映射的?这是由android动作意图字符串映射的吗?
例如,Intent.ACTION_CALL与某些应用程序配对,例如' Dialer'应用程序是每次Intent.ACTION_CALL被引发时将启动的默认应用程序...
由于
答案 0 :(得分:0)
您无法使用应用更改默认应用程序 但您可以通过意图引用应用程序的设置页面来设置默认值
Intent i = new Intent(android.provider.Settings.Aplications);
startActivity(i);
或类似的东西
答案 1 :(得分:0)
从API 21开始,您可以使用下一个意图来要求用户成为默认拨号程序:
Intent intent = new Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER)
.putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, getPackageName());
if (intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, REQUEST_CODE_SET_DEFAULT_DIALER);
} else {
Log.w(getLocalClassName(), "No Intent available to handle action");
}
答案 2 :(得分:0)
@RequiresApi(api = Build.VERSION_CODES.M)
private void chnagedialer() {
TelecomManager systemService = this.getSystemService(TelecomManager.class);
if (systemService != null && !systemService.getDefaultDialerPackage().equals("com.android.contacts")) {
startActivity((new Intent(ACTION_CHANGE_DEFAULT_DIALER)).putExtra(EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME,"com.android.contacts" ));
}
}