1. ホーム
  2. android

[解決済み] Androidで権限を要求する|シンボルMY_PERMISSIONS_REQUEST_READ_CONTACTSを解決できない

2022-02-16 01:26:20

質問

ユーザーのファイルにアクセスしようとしているのですが、このような方法で試してみました。

if (ContextCompat.checkSelfPermission(MainActivity.this,
            Manifest.permission.READ_EXTERNAL_STORAGE)
            != PackageManager.PERMISSION_GRANTED) {

        // Permission is not granted
        if (ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this,
                Manifest.permission.READ_EXTERNAL_STORAGE)) {
        } else {
            ActivityCompat.requestPermissions(MainActivity.this,
                    new String[]{Manifest.permission.READ_CONTACTS},
                    MY_PERMISSIONS_REQUEST_READ_CONTACTS);
        }
    } else {
        // Permission has already been granted
    }

ちょうど こちら

今、Android Studio は私に言います。シンボル MY_PERMISSIONS_REQUEST_READ_CONTACTS を解決できません。

これはなぜですか?

この質問が以前にもされていたら申し訳ないのですが、調べたのですが、私の問題に対する答えが見つかりませんでした。

ありがとうございました。

マックス

解決方法は?

とあるように

    // MY_PERMISSIONS_REQUEST_READ_CONTACTS is an
    // app-defined int constant. The callback method gets the
    // result of the request.

のように別のクラスを作成し、それを宣言するのがよいでしょう。

class Constants{
    public static final int MY_PERMISSIONS_REQUEST_READ_CONTACTS = 100;
}

として使用し、それを

ActivityCompat.requestPermissions(MainActivity.this,
                    new String[]{Manifest.permission.READ_CONTACTS},
                    Constants.MY_PERMISSIONS_REQUEST_READ_CONTACTS);