onRequestPermissionsResult компилируется под фрагментом - PullRequest
0 голосов
/ 18 октября 2018

Я запрашиваю разрешение во время выполнения для моего приложения из фрагмента.я могу вызывать requestPermissions.

 requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, READ_PHONE_STATE_REQUEST_CODE);  

Но когда я добавляю onRequestPermissionsResult, он не компилируется и говорит: «Метод не переопределяет метод из своего суперкласса.

@TargetApi(Build.VERSION_CODES.M)
@Override
public void onRequestPermissionsResult(int requestCode,
                                       String permissions[], int[] grantResults) {
}

Может кто-нибудь помочьменя в этом.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Добавьте приведенный ниже код в методе onCreateView (), чтобы запросить разрешение

 ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.READ_PHONE_STATE}, 1);

И

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            Log.v(TAG, "Permission: " + permissions[0] + "was " + grantResults[0]);
        }
    }

Также в своем манифесте добавьте:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
0 голосов
/ 18 октября 2018

enter image description here> внутри onCreateView

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        getActivity().requestPermissions(new String[]{Manifest.permission.READ_PHONE_STATE}, 0);
    }

внутри класса фрагмента

 @Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {

}
...