如何不显示应用选择器Android

时间:2015-11-10 07:24:13

标签: android android-intent

我的意图是按如下方式拨打号码:

Intent intent = new Intent(isTelephonyEnabled() ? Intent.ACTION_CALL : Intent.ACTION_VIEW);
intent.setData(Uri.parse(number));
cordova.getActivity().startActivity(intent);
callbackContext.success();

函数isTelephoneEnabled()只是确保存在Telephony Manager:

private boolean isTelephonyEnabled(){
    TelephonyManager tm = (TelephonyManager)cordova.getActivity().getSystemService(Context.TELEPHONY_SERVICE);
    return tm != null && tm.getPhoneType() != TelephonyManager.PHONE_TYPE_NONE;
}

问题是,应用选择器打开并询问我是否要使用Skype或普通电话应用拨号。如何阻止应用选择器打开?我希望它每次都能直接进入默认选项(普通手机)。

1 个答案:

答案 0 :(得分:0)

我只是想给你一个想做你想做的事。 您可以获取可能收到您意图的所有活动的列表。使用PackageManager.queryIntentActivities。此方法返回ResolveInfo个对象的列表。您可以从ResolveInfo

中检索活动名称

然后,您应该选择一个要打开的活动,并将您的意图发送到此活动(例如,使用Intent.setComponent)。