2012-08-14 72 views
0

我正在制作一个应用程序,其中当我通过我的应用程序下载文件时,它会被下载到我的应用程序数据空间中。我这样做基本上是因为下载的文件不会被用户访问,因为他们可以访问它,如果它存储在SD卡或内部存储器中。 所以我的问题是,当用户点击任何第三方application.ie文件时,我想打开该文件。当文件被下载时,它会弹出来打开或不打开。如果打开打开,那么它应该由其他第三方应用程序打开。例如对于例如 如果我下载abc.doc,那么它应该让我通过各种读者开放。访问应用程序数据空间

这可能吗?如果不是我能实施什么解决方案? 这是否需要设备根?

回答

0

我这样做基本上是因为下载的文件将不会被用户访问,因为他们可以访问它,如果它存储在SD卡或内部存储器。

首先,“内部存储器”是“应用程序数据空间”,假设“应用程序数据空间”是指文件存储而不是RAM。您只能在Android中写入两个地方:内部存储和外部存储。

其次,即使在内部存储上也想访问文件的用户,比如通过对他们的设备进行root化。

所以我的问题是,当用户点击任何第三方application.ie文件时,我想打开文件。当文件被下载时,它会弹出来打开或不打开。如果打开打开,那么它应该由其他第三方应用程序打开。例如,如果我下载abc.doc,那么它应该让我通过各种读者开放。

当您使用openFileOutput()创建文件时,您可以选择使该文件为MODE_WORLD_READABLE。这可能允许一些第三方应用程序访问该文件。或者,您可以实施ContentProvider来提供此文件。这些中的任何一个也将允许用户访问文件(例如,通过那些查看器应用程序中的“共享”选项),这与您的原始目标背道而驰。

只有通过您的应用程序才能让用户无法访问的文件的唯一方法是如果您的应用程序是查看(或以其他方式使用)该文件的文件。而且,正如我上面提到的那样,即使那时固定的设备所有者仍然可以选择到达文件。

+0

我在MODE_WORLD_READABLE模式下存储在应用程序数据空间中的文件可以通过第三方应用程序读取。现在重点是应用程序的用户对他们访问的文件有一定的权限。即下载的某个文件是只读的,或者某个用户下载的文件可以编辑。那我怎么能做到这一点。我想限制用户对文件的权限。建议采用这种方法来解决这个问题。这可以通过任何插件或如此acheived ??? – Vaibhav 2012-08-16 05:20:57

相关问题