Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android内容解析程序takePersistableUriPermission API低于19无此类方法_Android_Android Intent_Uri_Android Contentprovider_Android Contentresolver - Fatal编程技术网

Android内容解析程序takePersistableUriPermission API低于19无此类方法

Android内容解析程序takePersistableUriPermission API低于19无此类方法,android,android-intent,uri,android-contentprovider,android-contentresolver,Android,Android Intent,Uri,Android Contentprovider,Android Contentresolver,我使用它是为了实现以下行为: 对于19岁以上的API(新的存储访问框架),用户通过Intent.ACTION\u OPEN\u DOCUMENT选择文件;对于19岁以下的API,用户通过Intent.ACTION\u GET\u CONTENT选择文件。这些文件应该存储在应用程序的列表中,以供以后使用(打开它们)。因此,在我获得我使用的文件后: Uri uri = fileUri; final int takeFlags = data.getFlags() & (In

我使用它是为了实现以下行为:

对于19岁以上的API(新的存储访问框架),用户通过
Intent.ACTION\u OPEN\u DOCUMENT
选择文件;对于19岁以下的API,用户通过
Intent.ACTION\u GET\u CONTENT
选择文件。这些文件应该存储在应用程序的列表中,以供以后使用(打开它们)。因此,在我获得我使用的文件后:

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的情况,它可以正常工作,但对于API低于19的情况,例如,我使用API 14进行测试,得到了ANR,错误如下:

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

有什么问题吗?谢谢


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

public void takePersistableUriPermission(Uri Uri,int modeFlags)是在API级别19中添加的,但是如何实现我需要的UX:用户可以在以后使用时打开文件。。。(持久权限)好吧-看起来它是在API 14以下自动完成的。。。