Java 如何制作一个能在一定时间内运行的演示应用程序?
我想为我的应用程序制作一个只运行15分钟的演示版本。最好的方法是什么?Java 如何制作一个能在一定时间内运行的演示应用程序?,java,android,demo,Java,Android,Demo,我想为我的应用程序制作一个只运行15分钟的演示版本。最好的方法是什么? 例如,我可以: 在我的应用程序中启动一个线程,等待15分钟,然后阻止对该应用程序的访问,但如果用户重新安装该应用程序,则再次 我可以工作15分钟 另一种方法是在数据库中记录状态,但如果用户清除应用程序的数据,可能还有15分钟 什么是最可靠的解决方案?从评论中可以看出,如果不使用用户无权访问的东西(即服务器),目前不可能保护应用程序。但我想我会发布一个方法来保护我应用程序中的东西,这真的很难做到 这很难,因为它是模糊的,安全的
例如,我可以:
线程
,等待15分钟,然后阻止对该应用程序的访问,但如果用户重新安装该应用程序,则再次
我可以工作15分钟什么是最可靠的解决方案?从评论中可以看出,如果不使用用户无权访问的东西(即服务器),目前不可能保护应用程序。但我想我会发布一个方法来保护我应用程序中的东西,这真的很难做到 这很难,因为它是模糊的,安全的第一条规则是模糊不是安全。然而,它将击败95%的自由贸易者,至少将减少滥用。也。您应该了解代码中最薄弱的一点是执行检查的位。您还需要让它变得非常模糊,并使用baksmali检查您的代码,以检查它是否真的模糊 对于加密资产,这种方法很难破解,但如果您执行类似于
if(myData.isGood())
的操作,则很容易破解
方法
- 扩展
类 将扩展的ImageView
实例添加到主布局中 将其源设置为应用程序中的资源,例如应用程序图标 覆盖扩展图像视图的ImageView
方法,并在 在这里,从数据库中的任意位置获取字节数组 ImageView位图。实际上,是一组随机的字节 在onDraw()
画布上绘制透明墨水,使图像视图不可见 使用这些字节作为密码对数据/字符串/资产进行加密/解密 私钥
getExternalFilesDir()
(以下getExternalStorageDirectory()
)之外。卸载应用程序时不会删除此文件,临时用户也不会轻易绕过此文件。它既不干净也不完美,但它确实工作得相当好。这是一个好主意,但正如您所说的,它对于使用这些字节作为私钥对数据/字符串/资产进行加密/解密非常有用,而不是用于制作计时试玩应用程序的解决方案!不管怎样,你提出了一个关于安全性的好主意,谢谢:)我的观点是,你可以在共享首选项中加密开始时间,然后每分钟检查一次。如果用户杀死了应用程序,共享的首选项值将不会被覆盖,因此应用程序仍将计15分钟。您可以通过将用户删除共享首选项与您的应用程序一起封装,并在其中包含一个值来阻止该用户删除共享首选项,该值在没有再次加密的情况下,应用程序将无法运行。