屏幕截图通知需要在点击时获得权限,但在使用通知共享操作时则不需要

时间:2016-01-08 11:02:55

标签: android android-intent android-permissions

这看起来像bug(在Marshmallow中)但无论如何都需要解决它。

Nexus 6P(6.0.1)。两种情况:

  1. 截取屏幕截图/点击通知的分享操作/分享到您的应用
  2. ACTION_SEND意图被传递到应用程序,并且应用程序(看似)被授予获取图像的权限(在mClipData中指定,而不是mData)

    1. 截取屏幕截图/点击通知本身/分享到您的应用
    2. ACTION_VIEW意图传递给应用程序,但应用程序没有权限(除非已经授予READ_EXTERNAL_STORAGE),因为尝试抓取图像(在mData中指定,而不是mClipData)给出:

      Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media/1234 from pid=12345, uid=23456 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
      

      有没有办法解决此问题,而无需求助于应用程序本身请求READ_EXTERNAL_STORAGE权限?

1 个答案:

答案 0 :(得分:0)

如果您从活动中打开图像,而不是从源/目录文件打开图像,则为“是”。或者,如果您想从源代码打开,则需要将READ_EXTERNAL_STORAGE添加到a​​ndroid清单。