问题描述
|
我已经使用此意图拨打在意图的setdatafield中写入的no
但是,当我运行应用程序并单击放置此意图的呼叫按钮时,我在LogCat中收到此错误
06-14 14:08:10.137: ERROR/AndroidRuntime(2898): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:2125551212 cmp=com.android.phone/.OutgoingCallbroadcaster } from ProcessRecord{43edbe18 2898:com.collabera.labs.sai/10102} (pid=2898,uid=10102) requires android.permission.CALL_PHONE
解决方法
Intent.ACTION_DIAL意图(而不是Intent.ACTION_CALL)不需要许可。它只调出拨号程序,以便用户可以自己决定是否打电话,无论如何在大多数情况下这都是更好的用户体验。
,
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse(\"tel:03000000000\"));
startActivity(intent);
添加权限
<uses-sdk android:minSdkVersion=\"7\" />
<uses-permission android:name=\"android.permission.CALL_PHONE\"/>
, 错误提示:requires android.permission.CALL_PHONE
您需要在清单中声明“ 4”权限:
<manifest android:installLocation=\"preferExternal\" package=\"yourpackage\"
xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:versionCode=\"1\" android:versionName=\"1\">
<uses-permission android:name=\"android.permission.CALL_PHONE\"></uses-permission>
.
.
.
</manifest>
浏览此处获取更多信息。
, 你也可以尝试
<uses-permission android:name=\"android.intent.action.CALL_PRIVILEGED\"></uses-permission>
不建议使用的常量,但可以在不打开拨号程序活动的情况下立即启动呼叫
, 在您的permission7ѭ中添加权限,如下所示
<uses-permission android:name=\"android.permission.CALL_PHONE\"></uses-permission>
在此处阅读有关Permissions
的更多信息