2

When I want to use onRequestPermissionsResult() in AsyncTask, I get an error. I must use permission in Android 6.0.

@Override
public void onRequestPermissionsResult(int permsRequestCode, String[] permissions, int[] grantResults){
    switch(permsRequestCode){
        case 200:
            boolean writeAccepted = grantResults[0]== PackageManager.PERMISSION_GRANTED;
            break;
    }
}

Error message is ( @Override line ) :

method does not override method from its superclass

How can I catch onRequestPermissionsResult() in AsycnTask ? I have activity but I can't this.

1 Answers1

4

How can I catch onRequestPermissionsResult() in AsycnTask ?

You can't. You need to implement onRequestPermissionsResult() on the same Java class that you used for requestPermissions(). So:

  • If you used some subclass of Activity for requestPermissions(), you need to implement onRequestPermissionsResult() on that same Activity subclass

  • If you used some subclass of Fragment for requestPermissions(), you need to implement onRequestPermissionsResult() on that same Fragment subclass

You are welcome to execute an AsyncTask from within onRequestPermissionsResult(), if that is appropriate for your use case.

CommonsWare
  • 986,068
  • 189
  • 2,389
  • 2,491