Android意图和MODE_PRIVATE

时间:2012-11-04 22:03:07

标签: android android-intent

我在一年前创建了一个应用程序,我使用此代码将页面下载到本地文件,然后在浏览器意图中打开它:

FileOutputStream fos = openFileOutput("summary.html", Context.MODE_PRIVATE);
fos.write(msg.obj.toString().getBytes());
fos.close();
Intent i = new Intent(Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(getFileStreamPath("summary.html")),"text/html");
startActivity(i);

当时它起作用了。现在我不得不再次拿起应用程序,这不再有效。 在浏览器意图窗口中,我得到了一个

  

网页不可用
  无法加载file:// ....的网页(等等)

我仍然使用与开头(2.1)相同的Android版本运行,因此它与部署的操作系统版本无关。但是从那时起SDK已经更新了,可能会有所改变吗?

如果我从 MODE_PRIVATE 切换到 MODE_WORLD_READABLE ,它可以正常运行,但意图是否与调用应用程序的用户ID相同?

有关如何执行此操作的任何选项并将文件保存在 MODE_PRIVATE 中?

关于可能发生什么变化的任何信息都会发生?我用Google搜索,什么也没找到......

1 个答案:

答案 0 :(得分:0)

  

当时有效

我觉得很难相信。

  

但是从那时起SDK已经更新了,可能会有些变化?

不,应用始终使用自己的用户ID在自己的流程中运行,因此其他任何应用都无法访问您的MODE_PRIVATE文件。

  

如果我从MODE_PRIVATE切换到MODE_WORLD_READABLE它可以工作,但意图是否与调用应用程序使用相同的用户ID运行?

不,对于您的短语“意图运行”的任何可能定义。每个应用程序都在自己的进程中运行,使用自己的用户ID。

  

有关如何执行此操作的任何选项并将文件保留在MODE_PRIVATE?

WebView

中自行显示