我有一个通过 ACTION_CALL 打开语音通道的应用程序。目前,它工作得很好,但在用户拥有多个拨号器的情况下。
此应用程序是关于跌倒检测,因此用户没有时间(生死攸关)在他拥有的多个拨号器中进行选择,然后我想将其作为配置,甚至使用系统默认拨号器拨打电话。
谢谢
我有一个通过 ACTION_CALL 打开语音通道的应用程序。目前,它工作得很好,但在用户拥有多个拨号器的情况下。
此应用程序是关于跌倒检测,因此用户没有时间(生死攸关)在他拥有的多个拨号器中进行选择,然后我想将其作为配置,甚至使用系统默认拨号器拨打电话。
谢谢
为了避免选择器,您应该设置组件名称:
// i.e. Applications.getIntentForActivity(new Intent(Intent.ACTION_SEND), "Messaging");
public static Intent getIntentForActivity(Intent intent, String hint) {
ResolveInfo info = getActivityForIntent(intent, hint);
if (info == null)
return intent;
ComponentName name = Applications.getComponentForActivity(info);
if (name == null)
return intent;
// intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
// | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
intent.setComponent(name);
return intent;
}