Android权限 - Manifest或android.manifest

问题描述:

我开始使用Android进行开发。我使用带有Android M权限系统的SDK 23。 在internet'examples,当我想的checkPermission,我发现:Android权限 - Manifest或android.manifest

this.checkSelfPermission(Manifest.permission.READ_CONTACTS) 

,但它不为我工作。我需要写:

this.checkSelfPermission(android.manifest.permission.READ_CONTACTS) 

我想知道它的区别以及为什么它不起作用。

如果它可以帮助,这是我的清单文件(仅权限):

<uses-permission android:name="android.permission.SEND_SMS" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
    <uses-permission android:name="android.permission.READ_CONTACTS" /> 
    <uses-permission android:name="android.permission.READ_SMS" /> 
    <uses-permission android:name="android.permission.WRITE_SMS" /> 
    <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 
    <uses-permission android:name="android.permission.CAMERA" /> 
    <uses-permission android:name="android.permission.VIBRATE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.CALL_PHONE" /> 
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
    <uses-permission android:name="android.permission.WAKE_LOCK" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> 
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> 
    <uses-permission android:name="android.permission.RECEIVE_SMS" /> 

谢谢

+0

这将取决于你正在做的类清单什么进口。到底清单应该指向android.manifest('import android.manifest;') –

+0

谢谢佩德罗。确实...我导入了错误的包(Java.util.jar.manifest)。非常愚蠢...... :) –

当你所要求的权限是否被允许,你应该使用android.Manifest.permission。 XX,然后问你应该使用Manifest.permission.XX 下面是一个例子:

public static boolean checkCameraPermissions(Activity activity, int permission) { 
    if (ContextCompat.checkSelfPermission(activity, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) { 
     ActivityCompat.requestPermissions(activity, 
       new String[]{Manifest.permission.CAMERA}, permission); 
     return false; 
    } 
    return true; 
}