Разрешение на хранение не дано - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь дать приложению Android WRITE_EXTERNAL_STORAGE, но, похоже, ему не дано разрешение в эмуляторе.Android.manifest выглядит следующим образом:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Как видите, у меня явно android.permission.WRITE_EXTERNAL_STORAGE.Кто-нибудь знает, почему разрешение до сих пор не дано?Я пробовал различные эмуляторы (API 24, 26, 28).

Любая мысль приветствуется.

РЕДАКТИРОВАТЬ: Мой проект имеет довольно много зависимостей:

"dependencies": {
    "moment": "^2.22.0",
    "react": "16.0.0",
    "react-native": "0.51.0",
    "react-native-background-timer": "^2.0.1",
    "react-native-camera": "^1.1.4",
    "react-native-code-push": "^5.3.2",
    "react-native-elements": "^0.19.0",
    "react-native-google-analytics-bridge": "^5.6.3",
    "react-native-modal-dropdown": "^0.6.2",
    "react-native-photo-upload": "^1.2.0",
    "react-native-router-flux": "^4.0.0-beta.28",
    "react-native-star-rating": "^1.0.9",
    "react-native-ui-kitten": "^3.0.0",
    "react-native-vector-icons": "^4.5.0",
    "recyclerlistview": "^1.3.1",
    "react-native-wheel-picker": "^2.0.0",
  },

Ответы [ 3 ]

0 голосов
/ 11 июня 2018

Appranetly SDK> 23 требуется разрешение, даже если оно указано для определенных вещей.

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

private static final int PERMISSION_WRITE_REQUEST_CODE = 1;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {

    if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
            == PackageManager.PERMISSION_DENIED) {

        Log.d("WritePermission", "No write permission given. Requesting...");
         ActivityCompat.requestPermissions(thisActivity,
                new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
                PERMISSION_WRITE_REQUEST_CODE);
    }
}
0 голосов
/ 11 июня 2018

Я исправил это с помощью PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE).

0 голосов
/ 11 июня 2018

Вы пробовали установить:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="28" tools:replace="android:maxSdkVersion" />

Взято из: WRITE_EXTERNAL_STORAGE не работает на леденце, даже если он установлен в манифесте

или даже на этом:

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...