【问题标题】:Android onRequestPermissionsResult in AsyncTaskAndroid onRequestPermissionsResult 在 AsyncTask
【发布时间】:2016-08-12 11:41:13
【问题描述】:

当我想在 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 行):

method does not override method from its superclass

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

【问题讨论】:

  • 好吧,你不能在AsyncTask 中处理onRequestPermissionsResult()。你想达到什么目的?
  • 我知道我使用了权限,但我没有在我的 AsyncTask 中捕获 onRequestPermissionsResult

标签: android permissions


【解决方案1】:

如何在 AsycnTask 中捕获 onRequestPermissionsResult() ?

你不能。您需要在用于requestPermissions() 的同一个Java 类上实现onRequestPermissionsResult()。所以:

  • 如果您将Activity 的某个子类用于requestPermissions(),则需要在同一个Activity 子类上实现onRequestPermissionsResult()

  • 如果您将Fragment 的某个子类用于requestPermissions(),则需要在同一个Fragment 子类上实现onRequestPermissionsResult()

欢迎您执行AsyncTaskonRequestPermissionsResult() 中,如果这适合您的用例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 2023-03-21
    • 2016-11-10
    • 2017-02-28
    • 1970-01-01
    • 1970-01-01
    • 2015-12-19
    相关资源
    最近更新 更多