媒体权限不适用于首次启动

时间:2018-07-26 15:39:01

标签: android android-emulator android-contentprovider android-permissions

我正在尝试从外部存储中获取一些媒体。活动开始时,我正在检查是否具有读取和写入外部存储的权限。当然,对于第一次启动我没有,所以我要这些权限。然后,如果授予了权限,我将从ContentProvider的媒体父目录中获取数据,然后尝试使用list()类中的File方法列出这些目录中的每个文件。在解释问题出处之前,让我展示一下操作顺序:

  1. 检查权限。
  2. 如果未授予请求,则为他们。
  3. 如果被授予,请使用ContentProvider查找父目录。
  4. 使用list()列出每个目录中的文件。

现在很奇怪:

  1. list()始终返回null
  2. 关闭应用程序,然后再次打开。
  3. list()正常工作,而不是null

对话框确认后,我似乎没有获得许可。我必须再次打开应用程序才能获取它。有趣的是,它仅在仿真器(我尝试构建一些仿真器)上表现出这种行为,在我的设备上运行良好(list()在首次启动时也不返回null)。

0 个答案:

没有答案