权限不起作用,安装程序时不会询问

时间:2016-12-22 08:58:35

标签: android permissions

我们在合适的标签之间写了所有权限代码。但是当我安装程序时,没有关于权限的问题。 我的错在哪里?

这是我的manifest.xml文件

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

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


    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.INTERNET" />



    <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>

</manifest>

4 个答案:

答案 0 :(得分:0)

在Manifest文件中写入权限不会询问运行时权限。为了显示权限,您需要在应用程序实例中编写代码。请参阅此链接https://developer.android.com/training/permissions/requesting.html

答案 1 :(得分:0)

你是在marshmallow或以上设备上测试应用程序意味着它在安装过程中不会要求许可但是在运行时允许你添加运行时权限代码

答案 2 :(得分:0)

它依赖于您的设备,如果您的设备Android版本低于6.0,那么您可以,但是,如果您的设备版本是6.0及更高版本,那么您需要添加运行时权限,请检查此链接https://github.com/googlesamples/easypermissions < / p>

答案 3 :(得分:0)

从marshmallow开始,我们必须在运行时以编程方式添加权限。

阅读本文档

https://developer.android.com/training/permissions/requesting.html

我正在提供它的完成方式

  1. 检查是否允许
  2. int permissionCheck = ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_CALENDAR);

    1. 然后处理它
    2. @
      Override
      public void onRequestPermissionsResult(int requestCode,
        String permissions[], int[] grantResults) {
        switch (requestCode) {
          case MY_PERMISSIONS_REQUEST_READ_CONTACTS:
            {
              // If request is cancelled, the result arrays are empty.
              if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
      
                // permission was granted, yay! Do the
                // contacts-related task you need to do.
      
              } else {
      
                // permission denied, boo! Disable the
                // functionality that depends on this permission.
              }
              return;
            }
      
            // other 'case' lines to check for other
            // permissions this app might request
        }
      }

      这是您必须在6.0及以上版本中处理的方式,如果您的设备低于6.0,则清单会为您执行此操作