【问题标题】:How to give permission to application private data(/data/data/package_name/ in android > KK如何授予应用程序私有数据的权限(/data/data/package_name/ in android > KK
【发布时间】:2014-10-22 15:30:07
【问题描述】:

作为我的应用程序的一部分,我将图像和视频存储在 /data/data/app_package/ 路径下。相同的图像我将显示为缩略图。当用户单击任何图像时,我必须创建 ACTION_VIEW 意图并启动活动。

但是当我从活动选择器中选择任何应用程序时,图像/视频不会显示,并且会显示找不到文件的 toast。

我们如何提供对其他应用程序的访问权限以读取 /data/data/app_package/ 路径下的图像/视频存储?

阅读一些博客,像其他应用一样无法访问不同应用的/data/data/app_package路径。

有没有办法在 android KitKat 中授予访问权限?

【问题讨论】:

  • 虽然不建议这样做,但您可以让拥有应用程序的代码使用 Java(即设置 Context.MODE_WORLD_READABLE)或原生 API(例如 chmod(2))更改文件夹的权限。不过,一般来说,您要共享的数据应该在外部存储上或通过 ContentProvider 公开 - 一些应用程序会拒绝甚至尝试从另一个应用程序的私有文件夹访问内容即使他们有已被操作系统授予此类访问权限

标签: android android-4.4-kitkat android-5.0-lollipop android-4.3-jelly-bean


【解决方案1】:

在手机上使用 root 'su' 是无法做到这一点的。

或者,您应该将它们放在 /sdcard/android/data/app_package/ 或 /sdcard/android/obb/app_package/ 中,其中 sdcard 是 KitKat 或 Lollipop 中的内部存储。

【讨论】:

  • 不正确。另外,请不要假设设备上的路径是什么。
  • 我有一个 kitkat 设备,我知道它安装在内部作为 /sdcard/ 无论如何我试图帮助你,如果你愿意,可以投反对票。关于 /data/data/ 我试图访问它,它确实需要一个根。如果你有办法,请与我们分享。
  • 正如我在问题本身的评论中所说,拥有的应用程序可以授予访问权限。投反对票比用文字批评你的答案效率低。
  • 只是因为你没有任何地方拥有的应用程序将它们设置为具有公共读取和执行权限。请注意,即使这样,您也无法浏览它们,因为 /data 本身缺乏此类权限。但是您可以访问已被授予世界权限的内容,但使用完整路径。
  • 好的,感谢您提供新信息。但是,如果用户仍然可以阅读它,为什么不将它存储在 android 文件夹中呢?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-25
  • 2012-04-29
  • 1970-01-01
  • 2016-10-21
  • 2012-03-23
  • 1970-01-01
相关资源
最近更新 更多