我的意图是按如下方式拨打号码:
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或普通电话应用拨号。如何阻止应用选择器打开?我希望它每次都能直接进入默认选项(普通手机)。
答案 0 :(得分:0)
我只是想给你一个想做你想做的事。 您可以获取可能收到您意图的所有活动的列表。使用PackageManager.queryIntentActivities。此方法返回ResolveInfo个对象的列表。您可以从ResolveInfo
中检索活动名称然后,您应该选择一个要打开的活动,并将您的意图发送到此活动(例如,使用Intent.setComponent)。