android.permission.PHONE_CALL在清单中添加但仍然有权限错误

时间:2014-12-15 08:03:11

标签: android permissions call

我试图使用ACTION_CALL意图调用USSD代码。我已将android.permission.PHONE_CALL添加到清单文件中,但它不起作用并获得权限错误异常。 PS:如你所见,还有GPS和INTERNET的权限,它们工作正常。 以下是代码:

public void onClick(View v) {
    String encodedHash = Uri.encode("#");
    String number = "*140*1";
    Intent intent = new Intent(Intent.ACTION_CALL);
    intent.setPackage("com.android.phone");
    intent.setData(Uri.parse("tel:" + number + encodedHash));           
    try{
        startActivity(intent);
    } catch(Exception ex){
        Toast.makeText(getApplication(), ex.toString(), Toast.LENGTH_LONG).show();
    }
}

清单

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="21" />

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.PHONE_CALL" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity .......

2 个答案:

答案 0 :(得分:3)

我认为你拼错了文字,改为以下内容: android.permission.CALL_PHONE

答案 1 :(得分:1)

拨打电话的权限不是拼写为“android.permission.PHONE_CALL”的“android.permission.CALL_PHONE”。 有关更多信息,请访问Android Developer API文档以获取Manifest权限。

Android Manifest permissions