相关疑难解决方法(0)

Android - onRequestPermissionsResult() 已弃用。有没有其他选择?

我试图实现从存储中写入和读取的请求权限。一切正常,但今天 Android 向我展示了 onRequestPermissionsResult(...) 方法已被弃用。StackOverflow 中有很多关于这个主题的问题,但不幸的是,它们已经过时了。

我在一个片段中调用了下面的方法。

建议简单地调用:

requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE},
StorageKeys.STORAGE_PERMISSION_CODE)
Run Code Online (Sandbox Code Playgroud)

而不是我的方法:

ActivityCompat.requestPermissions(getActivity(),
new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE},
StorageKeys.STORAGE_PERMISSION_CODE))
Run Code Online (Sandbox Code Playgroud)

但它们都表明 onRequestPermissionsResult(...) 已被弃用。

这是我的 onRequestPermissionsResult(...) 方法:

  @Override
  public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                                         @NonNull int[] grantResults) {

    if (requestCode == StorageKeys.STORAGE_PERMISSION_CODE) {

      if (grantResults.length > 0
          && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

        exportBibTex.createBibFile();
        exportBibTex.writeBibFile(exportBibTex
            .getBibDataLibrary(libraryModel, bookDao, noteDao));

        Toast.makeText(getContext(),
            getString(R.string.exported_file_stored_in) + '\n'
                + File.separator + StorageKeys.DOWNLOAD_FOLDER + File.separator + fileName
                + StorageKeys.BIB_FILE_TYPE, Toast.LENGTH_LONG).show();

      } else {
        Toast.makeText(getContext(), R.string.storage_permission_denied,
            Toast.LENGTH_SHORT).show();
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

这是一个简单的警报对话框,我在其中调用 …

java permissions android request deprecated

22
推荐指数
3
解决办法
1万
查看次数

标签 统计

android ×1

deprecated ×1

java ×1

permissions ×1

request ×1