Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ANDROID:权限请求代码未出现_Java_Android_Permissions_Android 6.0 Marshmallow - Fatal编程技术网

Java ANDROID:权限请求代码未出现

Java ANDROID:权限请求代码未出现,java,android,permissions,android-6.0-marshmallow,Java,Android,Permissions,Android 6.0 Marshmallow,我相信这有一个非常简单的解释,但它让我感到困惑。对于API 23的新更新,您必须在清单和实际代码中声明权限。然而,我试图做的事情的请求代码并没有出现 这是我的舱单: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ryanfolz.textscrabble"> <uses-

我相信这有一个非常简单的解释,但它让我感到困惑。对于API 23的新更新,您必须在清单和实际代码中声明权限。然而,我试图做的事情的请求代码并没有出现

这是我的舱单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ryanfolz.textscrabble">

<uses-permission android:name="android.permission.READ_SMS"/>

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
但是,“请求\代码\请求\权限”不会链接到任何数值。事实上,自动完成中也没有出现请求代码


有人知道为什么不显示此代码以及如何修复它吗?

您必须为
REQUEST\u code\u ASK\u PERMISSIONS
指定任意值。您应该将
REQUEST\u code\u ASK\u PERMISSIONS
声明为一个常量,具有任意数值,如

public final int REQUEST\u code\u ASK\u PERMISSIONS=1001

此值用于知道在
onRequestPermissionsResult
中允许和管理哪些权限。i、 例如,在同一活动中,您在两种不同的情况下请求权限,而您只有一个
onRequestPermissionsResult
方法。因此,您必须区分在
onRequestPermissionsResult
中捕获的结果

因此,如果您有两个请求,比如SMS和WAKE_LOCK,您将使用两个请求代码进行请求,比如:

public final int REQUEST_CODE_SMS_PERMISSIONS = 1001;
public final int REQUEST_CODE_WAKELOCK_PERMISSIONS = 1002;
这样您就可以像这样在
onRequestPermissionsResult
中管理结果

 @Override
    public void onRequestPermissionsResult(final int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch(requestCode){
             case REQUEST_CODE_SMS_PERMISSIONS:
                 //Code for handling SMS Permission results
                 break;
             case REQUEST_CODE_WAKELOCK_PERMISSIONS:
                 //Code for handling WAKE_LOCK Permission results
                 break;
          }

}

您必须为
REQUEST\u code\u ASK\u PERMISSIONS
指定任意值。您应该将
REQUEST\u code\u ASK\u PERMISSIONS
声明为一个常量,具有任意数值,如

public final int REQUEST\u code\u ASK\u PERMISSIONS=1001

此值用于知道在
onRequestPermissionsResult
中允许和管理哪些权限。i、 例如,在同一活动中,您在两种不同的情况下请求权限,而您只有一个
onRequestPermissionsResult
方法。因此,您必须区分在
onRequestPermissionsResult
中捕获的结果

因此,如果您有两个请求,比如SMS和WAKE_LOCK,您将使用两个请求代码进行请求,比如:

public final int REQUEST_CODE_SMS_PERMISSIONS = 1001;
public final int REQUEST_CODE_WAKELOCK_PERMISSIONS = 1002;
这样您就可以像这样在
onRequestPermissionsResult
中管理结果

 @Override
    public void onRequestPermissionsResult(final int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch(requestCode){
             case REQUEST_CODE_SMS_PERMISSIONS:
                 //Code for handling SMS Permission results
                 break;
             case REQUEST_CODE_WAKELOCK_PERMISSIONS:
                 //Code for handling WAKE_LOCK Permission results
                 break;
          }

}

我有一个类似的问题,当我必须请求权限时,我只定义了一个名为request_CODE的整数。比如:

final int REQUEST_CODE = 100;
然后我打电话:

ActivityCompat.requestPermissions(MainActivity.this, 新字符串[]{“android.permission.READ_SMS”},请求代码)

然后在请求权限调用时,我处理请求代码是否等于请求代码整数

所以只需定义一个整数来调用权限


可能不是您正在寻找的确切解决方案,但它是有效的。

我有一个类似的问题,当我必须请求权限时,我只定义了一个整数,称为request\u CODE。比如:

final int REQUEST_CODE = 100;
然后我打电话:

ActivityCompat.requestPermissions(MainActivity.this, 新字符串[]{“android.permission.READ_SMS”},请求代码)

然后在请求权限调用时,我处理请求代码是否等于请求代码整数

所以只需定义一个整数来调用权限


可能不是您正在寻找的确切解决方案,但它很有效。

好吧,您需要自己定义
REQUEST\u code\u ASK\u PERMISSIONS
。这是您的代码,用于将一个权限请求与您在此活动中可能提出的任何其他权限请求区分开来。您需要自己定义
request\u code\u ASK\u PERMISSIONS
。这是您的代码,用于将一个权限请求与您在此活动中可能提出的任何其他权限请求区分开来。