我使用Followoing许可通过我的应用程序拨打电话

< uses-permission android:name="android.permission.CALL_PHONE" />

这是我拨打电话的代码。
 Intent iniCall=new Intent(Intent.ACTION_CALL);
 iniCall.setData(Uri.parse("tel:9849199291");
 startActivity(iniCall);

但是它将启动Skype应用程序,而不是启动默认调用应用程序。

如何从默认调用应用程序调用?

最佳答案

对于Pre-Lollipop设备,您需要使用com.android.phone作为软件包名称,在Lollipop中,您需要使用com.android.server.telecom作为软件包名称。

试试下面的代码:

Intent iniCall=new Intent(Intent.ACTION_CALL);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
   iniCall.setPackage("com.android.server.telecom");
}else{
   iniCall.setPackage("com.android.phone");
}
iniCall.setData(Uri.parse("tel:"+9849199291);
startActivity(iniCall);

希望对您有所帮助!

09-25 21:41