我正在使用它来实现以下行为:
用户通过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,则只需注释掉此代码。