2015-06-22 67 views
1

是否有可能作出禁止第三方应用程序(如Adobe阅读器)文件的副本,我使用打开存储在我的应用程序的内部存储器中的PDF文件?如何限制在Android中使用Content Provider共享文件复制?

+0

不,你不能。您只能避免在文件上书写,但如果您允许打开和读取操作,则不能禁止其他应用程序复制其内容。 – greywolf82

+0

我是这么认为的:(。所以唯一的解决办法是使用一些应用程序内的PDF阅读器吧? – malarkey25

+0

如果它是你可以使用一些密码,以避免打印PDF,上 – greywolf82

回答

0

对不起,先生。如果您将字节传递给第三方应用程序,那么该第三方应用程序可以按照这些字节执行所需操作。

那么唯一的解决方案是使用一些应用程序内的pdf阅读器吗?

这并没有完全从复制您的PDF阻止人们。但是,它将限制攻击者植根于设备的用户,这可能不到1%的用户。

+0

复制,因此如果我存储加密的PDF转换为内部应用程序内存,然后当用户选择读取文件时,应用程序将解密它,将其存储在外部存储器中并使用第三方应用程序显示它。只要第三方阅读器退出前台(后退按钮,主页按钮等),我的应用程序将删除该解密的文件。我知道,根设备,即使这不是100%的解决方案。这里的问题是如何知道什么时候得到的PDF阅读器关闭(暂停)? – malarkey25

+0

我问另外一个问题关于观察应用程序的状态[这里] (http://stackoverflow.com/questions/30975533/how-to-observe-state-of-third-party-application-started-using-intent-action-view)。我想,如果有人有一个答案应该心存感激。 – malarkey25

相关问题