Make Call in Android Application using default call application

前端 未结 3 1683
无人及你
无人及你 2020-12-11 03:32

I am using following code to make a call from my android application:

Intent intent = new Intent(Intent.ACTION_CALL);                 
intent.setData(Uri.par         


        
3条回答
  •  旧时难觅i
    2020-12-11 04:11

    For a generic use, you can implement like below.

    Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("tel:" + "1111111111"));
    callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    
    
    PackageManager packageManager = context.getPackageManager();
    List activities = packageManager.queryIntentActivities(callIntent, PackageManager.MATCH_DEFAULT_ONLY);
    
    for(int j = 0 ; j < activities.size() ; j++)
    {
    
        if(activities.get(j).toString().toLowerCase().contains("com.android.phone"))
        {
             callIntent.setPackage("com.android.phone");
        }
        else if(activities.get(j).toString().toLowerCase().contains("call"))
        {
             String pack = (activities.get(j).toString().split("[ ]")[1].split("[/]")[0]);
             callIntent.setPackage(pack);
        }
    }
    
    context.startActivity(callIntent);
    

    Also you have to add this intent-filter to activity or receiver etc. in AndroidManifest.xml

    
       
          
          
       
    
    

    Finally don't forget to add permission to AndroidManifest.xml

    
    

提交回复
热议问题