Android内容解析器takePersistableUriPermission API 19以下没有这样的方法

时间:2015-06-13 09:22:33

标签: android android-intent uri android-contentprovider android-contentresolver

我正在使用它来实现以下行为:

用户通过Intent.ACTION_OPEN_DOCUMENT为19以上的API(新的存储访问框架)选择文件,或通过Intent.ACTION_GET_CONTENT为19以下的API选择文件。文件应存储在应用程序列表中供以后使用(打开他们)。所以在我得到我使用的文件之后:

Uri uri = fileUri;
final int takeFlags = data.getFlags()
          & (Intent.FLAG_GRANT_READ_URI_PERMISSION
          | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
getApplicationContext().getContentResolver().takePersistableUriPermission(uri, takeFlags);

对于API大于19的情况,它工作正常,但对于19以下的API,例如我使用API​​ 14进行测试,我得到ANR并出现以下错误:

java.lang.NoSuchMethodError: android.content.ContentResolver.takePersistableUriPermission

可能是什么问题?谢谢,

更新:似乎它(持久许可)在14以下的API中自动完成,这意味着如果API低于14,则只需注释掉此代码。

0 个答案:

没有答案