2017-08-07 22 views
1

Android 5.1.1で、ストレージのアクセス権が自動的に拒否されるアプリをテストしています。私は、アプリを起動すると、アプリに権限を与えるためのプロンプトはありません。しかし、新しいアンドロイドのアクセス許可モデルでAndroid 6.0以上でアプリをテストすると、すべてうまく動作しています。どのように私は正しくアクセス許可を設定し、アンドロイド5.0以下のアプリの起動時にプロンプ​​トを表示するアクセス許可のダイアログボックスを取得するには?ネイティブAndroidのアクセス許可が拒否されました

答えて

0

今、この権利をテストしますが、ガイドラインとしてできません:

async function requestStorageAccess() { 
    const permission = await PermissionsAndroid.request(
    PermissionsAndroid.WRITE_EXTERNAL_STORAGE 
) 

    if (permission === PermissionsAndroid.RESULTS.GRANTED) { 
    console.log('Granted'); 
    } 
} 

読む: http://facebook.github.io/react-native/releases/0.45/docs/permissionsandroid.html

と:https://developer.android.com/reference/android/Manifest.permission.html#WRITE_EXTERNAL_STORAGE

+0

を変更することにより、その周りに働きました。すべてのことがうまくいきますアンドロイド6.0以上ではなく、そのAPIの下で、許可が拒否されます。私はここで何か間違っていますか? –

+0

* AndroidManifest.xml *に設定していますか? https://developer.android.com/guide/topics/manifest/uses-permission-element.html – zvona

+0

はい、AndroidManifest.xmlに権限が設定されています。 –

0

は私だけのための場所の許可にこの同じ問題がヒットアンドロイドバージョン5.0。

これは(私たちはv0.44.0を使用している)RNのバグのように見えるいくつかの理由

const granted = await PermissionsAndroid.request(
    PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, { 
     title: 'Enable Location Tracking', 
     message: 'Use your location to find nearby things', 
    }, 
); 

    if (granted === PermissionsAndroid.RESULTS.GRANTED) { 
    return true; 
    } 

は、5.0アンドロイド上で、許可されたがある、代わりに「許可された」と、trueに設定されます6.0以上に設定されているもの

私は同じ非同期機能を持っており、条件、私は画像をダウンロードして保存するためのコードを入れていた場合の内側

if (granted === true || granted === PermissionsAndroid.RESULTS.GRANTED) 
関連する問題