Intent.ACTION_CALL问题SecurityException

问题描述

| 我已经使用此意图拨打在意图的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
的更多信息