【问题标题】:Android API below 19 equivalent for ContentResolver takePersistableUriPermission19 以下的 Android API 等效于 ContentResolver takePersistableUriPermission
【发布时间】:2015-08-06 02:47:00
【问题描述】:

我使用它来让用户选择文件,在选择后我将文件的 URI 存储在共享首选项中。将来用户可以打开此文件 - 所以我有 URI,因此可以完成

        final Intent intent = new Intent();
        if (Integer.valueOf(android.os.Build.VERSION.SDK_INT) >= 19) {
            intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
        }     
        else {
            intent.setAction(Intent.ACTION_GET_CONTENT);
        }        
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        intent.setType("application/msword,application/pdf,text/plain");  //Text, DOC, PDF
        startActivityForResult(intent, READ_REQUEST_CODE);

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == READ_REQUEST_CODE && resultCode == Activity.RESULT_OK && data != null) {
    //Get and Store the URI in shared prefs...
    final int takeFlags = data.getFlags()
                    & (Intent.FLAG_GRANT_READ_URI_PERMISSION
                    | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    getContentResolver().takePersistableUriPermission(uri, takeFlags);
}

最后一行代码(如果我理解正确,可以保存读取权限以供以后使用)仅适用于 API 19 及更高版本。 API 19 以下的等效项是什么? 一般来说,问题是如何在这种模式下获得19以下API中的persistnet权限?谢谢,

【问题讨论】:

    标签: android permissions file-permissions android-contentresolver


    【解决方案1】:

    API 19 以下的等效项是什么?

    除了将内容复制为您自己的应用程序中的本地文件之外,没有其他方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 2014-01-24
      • 1970-01-01
      • 2011-07-09
      相关资源
      最近更新 更多