当我想在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()
。