Android SDK - 打开我想要的任何文件?

时间:2012-02-26 21:19:19

标签: android file sdk io

根据Android开发文档,您不能只打开任何文件("Open a private file associated with this Context's application package for writing.")。

但是,当我希望我的应用程序读取其他应用程序创建的文件时,该怎么办?假设我在/data/app_1/hello.txt中有一个文件,但我的应用程序与它无关,因为我的应用程序名为app_2,我怎么还能打开这个文件(并回写给它)?

2 个答案:

答案 0 :(得分:2)

一般情况下,Android上的应用程序是孤立和分离的。应用程序只能写入和读取自己的文件。

有例外:正如documentation所述:"可以安排两个应用程序共享相同的Linux用户ID,在这种情况下,他们可以互相访问&# 39; s文件。为了节省系统资源,具有相同用户ID的应用程序也可以安排在同一个Linux进程中运行并共享同一个VM(应用程序也必须使用相同的证书进行签名)。"

另一种可能性是文件创建为"世界可读"这样每个应用程序都可以读取它。

总结并回到你的问题:如果你不能修改" my_app_1"那是不可能的。你可以修改两个应用程序选择上面的解决方案之一。

答案 1 :(得分:1)

两个选项:

  1. 如果您正在设计两个应用程序并希望共享该文件,请将其保存在其他位置(例如 - 外部存储)或使其具有全球可读性。
  2. 如果您正在尝试阅读其他应用程序的文件 - 嗯,您不应该,这是Android安全架构中的关键元素。