onRequestPermissionsResult

onRequestPermissionsResult

当我想在asynctask中使用onRequestPermissionsResult()时,会得到一个错误。我必须在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;
    }
}

错误消息是(@override line):
method does not override method from its superclass

如何在asycntask中捕获onRequestPermissionsResult()?我有活动,但不能这样。

最佳答案

如何在asycntask中捕获onrequestpermissionsresult()?
不可以。您需要在用于onRequestPermissionsResult()的相同java类上实现requestPermissions()。所以:
如果使用Activity的某个子类作为requestPermissions(),则需要在相同的onRequestPermissionsResult()子类上实现Activity
如果使用Fragment的某个子类作为requestPermissions(),则需要在相同的onRequestPermissionsResult()子类上实现Fragment
如果适合您的用例,欢迎您从AsyncTask中执行onRequestPermissionsResult()

08-18 03:09