当我想在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()
?我有活动,但我不能这样。
答案 0 :(得分:4)
如何在AsycnTask中捕获onRequestPermissionsResult()?
你做不到。您需要在用于onRequestPermissionsResult()
的同一Java类上实现requestPermissions()
。所以:
如果您使用Activity
的某些子类作为requestPermissions()
,则需要在同一onRequestPermissionsResult()
子类上实现Activity
如果您使用Fragment
的某些子类作为requestPermissions()
,则需要在同一onRequestPermissionsResult()
子类上实现Fragment
如果适合您的使用案例,欢迎您从AsyncTask
内执行 onRequestPermissionsResult()
。