2

Android 6 では、ストレージを使用する許可を要求しています。ユーザーが私の要求を拒否したときに、許可を得るためにアプリケーションに許可が必要な理由を説明するダイアログを表示したいと思います。

これはどのように行うことができますか?

リクエスト権限メソッドを使用するときにポップアップするダイアログのような組み込みのダイアログはありますか?

4

2 に答える 2

5

許可を求める前にカスタム ダイアログを表示して、ユーザーが許可を受け入れるか拒否するかを決定できるようにすることをお勧めします。

あなたはこれを使うことができます

int hasReadPermission = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);

if (hasReadPermission != PackageManager.PERMISSION_GRANTED) {
    //show your custom dialog regarding why you need this permission
}

ユーザーがダイアログのボタンをクリックすると、使用して許可ダイアログを表示します

requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
        50);
于 2016-02-10T12:32:34.133 に答える
1

以下を実行します。

/**
 * Permission check for Marshmallow
 */
public void checkMallowPermissions() {
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
            ContextCompat.checkSelfPermission(
                    getApplicationContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE
            ) != PackageManager.PERMISSION_GRANTED) {



        if(!ActivityCompat.shouldShowRequestPermissionRationale(this,
                Manifest.permission.WRITE_EXTERNAL_STORAGE) ||

                checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
                PackageManager.PERMISSION_GRANTED)

            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
                    PERMISSION_REQUEST_CODE);
    }
    if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) !=
                PackageManager.PERMISSION_GRANTED) {
          // Show your dialog
    }
}
于 2016-02-10T12:32:22.280 に答える