Android Intent.ACTION_CALL,Uri

Rea*_*man 11 android android-intent

我正在尝试使用Intent.Action类.我知道如何使用ACTION_VIEW显示URL但我想Intent.ACTION_DIAL在启动应用程序时使用to call号码.文档说您需要将URI解析为字符串,然后将其添加到Intent我试过这个:

Uri call = Uri.parse("7777777777");             
Intent surf = new Intent(Intent.ACTION_DIAL, call); 
startActivity(surf);
Run Code Online (Sandbox Code Playgroud)

这不起作用我收到一条错误消息说:

不幸的是,Project已经停止了.我试图调试代码,它似乎指向意图行不确定我做错了,如果我这样做它工作并带来拨号器.

//Uri call = Uri.parse("7777777777");               
Intent surf = new Intent(Intent.ACTION_DIAL);   
startActivity(surf);
Run Code Online (Sandbox Code Playgroud)

Nir*_*ara 23

联系电话

String number = "23454568678";
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:" +number));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

使用权限

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

  • 不,您不应使用“Intent.ACTION_CALL”或“Manifest.permission.CALL_PHONE”,而应使用“Intent.ACTION_DIAL”,请参阅https://support.google.com/googleplay/android-developer/answer/9047303 (2认同)

Har*_*rry 17

要打开拨号器应用程序(用户必须按拨号器应用程序内的呼叫按钮;无需其他权限),请使用:

String number = "7777777777";
Uri call = Uri.parse("tel:" + number);             
Intent surf = new Intent(Intent.ACTION_DIAL, call); 
startActivity(surf);
Run Code Online (Sandbox Code Playgroud)

要打开拨号器应用程序并自动执行调用(需要android.permission.CALL_PHONE),请使用:

String number = "7777777777";
Uri call = Uri.parse("tel:" + number);             
Intent surf = new Intent(Intent.ACTION_CALL, call); 
startActivity(surf);
Run Code Online (Sandbox Code Playgroud)