以编程方式从本机呼叫应用程序中调用Android应用程序中的号码

Sur*_*roj 9 android

我使用以下许可从我的应用程序拨打电话

< uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)

这是我打电话的代码.

 Intent iniCall=new Intent(Intent.ACTION_CALL);
 iniCall.setData(Uri.parse("tel:9849199291");
 startActivity(iniCall);   
Run Code Online (Sandbox Code Playgroud)

但它启动Skype应用程序而不是启动默认呼叫应用程序.

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

Raj*_*esh 11

对于Pre-Lollipop需要com.android.phone用作软件包名称的设备,需要将Lollipopcom.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); 
Run Code Online (Sandbox Code Playgroud)

我希望它有所帮助!