0
我想通過應用程序撥打電話。
是否可以限制選項只能從內置的電話應用程序調用,而不是顯示Viber,Skype或WhatsApp作爲選項?使用內置的電話撥號器啓動電話
這裏是我的代碼:
Intent i = new Intent(Intent.ACTION_DIAL);
i.setData(Uri.parse("tel:"+ adapter.getItem(position).getContent()));
startActivity(Intent.createChooser(i, getString(R.string.call_number)));
我想是這樣的:
,而不是像這樣(如果我已經安裝了Viber的和Skype):
我試機智h此代碼:
public static Intent callfromDefaultDialer(Context ctxt, String no) {
Intent i = new Intent();
i.setAction(Intent.ACTION_CALL);
i.setData(Uri.parse("tel:" + no));
PackageManager pm = ctxt.getPackageManager();
List<ResolveInfo> list = pm.queryIntentActivities(i, 0);
for (ResolveInfo info : list) {
String pkgnam = info.activityInfo.packageName;
if (pkgnam.toLowerCase().equals("com.android.phone")) {
i.setClassName(pkgnam, info.activityInfo.name);
return i;
}
}
return i;
}
並且這會打開Skype作爲選擇我也不知道爲什麼?
請允許*用戶*選擇*用戶*希望如何撥打電話。它是*用戶的*設備,不是你的。 – CommonsWare
我認爲您必須手動指定手機應用程序的包名稱意圖 –
請查看我的問題編輯 – vikifor