Android应用程序应在发布1个月后过期

Android应用程序应在发布1个月后过期,android,Android,我的android应用程序应该在发布后只工作一个月。怎么办?检查当前日期并计算过期日期。这应该很简单,只需读取第一次启动的日期并存储它,然后将每个后续启动的日期与存储的日期进行比较,如果大于x天,则弹出一个消息框,说明应用程序已过期 还是我遗漏了什么 /托尼改用警报接收器,并在警报过期时广播。 , 这里还有一个教程 只需添加更多相关代码即可: 使用SharedReferences存储首次启动的日期 获取每次启动的日期-可用于示例date.currentTimeMillis()-并计算是否已过1

我的android应用程序应该在发布后只工作一个月。怎么办?

检查当前日期并计算过期日期。

这应该很简单,只需读取第一次启动的日期并存储它,然后将每个后续启动的日期与存储的日期进行比较,如果大于x天,则弹出一个消息框,说明应用程序已过期

还是我遗漏了什么


/托尼

改用警报接收器,并在警报过期时广播。 ,


这里还有一个教程

只需添加更多相关代码即可:

  • 使用
    SharedReferences
    存储首次启动的日期
  • 获取每次启动的日期-可用于示例
    date.currentTimeMillis()
    -并计算是否已过1个月
    • 请看问题,它有一个很好的答案

      我会告诉你我的审判经验。起初,我试着只使用手机上的日期,但后来意识到,如果他们卸载并重新安装,这可以绕过。这可以通过将安装日期存储在文件系统的某个位置(隐藏)来解决,但是如果用户擦除数据或找到文件会发生什么情况

      我还尝试在任何地方(可能是您的www站点?)的服务器上检查日期/时间,但这会对您的应用程序施加限制,因为它们必须具有internet。很快我意识到需要更好的许可证管理,所以使用了最后一个解决方案

      最后一个解决方案是设置服务器。您可以使用设备的唯一ID(无论您选择哪一个-我使用Bluetooth MAC ID,因为我的应用程序也需要Bluetooth),将其发送到服务器以检查用户是否有试用版,如果没有,我会发给他们一个,如果有,我会检查有效期。现在我完全可以控制审判何时到期。由于我的应用程序是一个在现场使用的商业应用程序,如果潜在买家需要一周的时间,这是非常方便的

      最后一个解决方案的唯一问题是,如果您计划发布到市场,您必须使用他们的支付系统


      祝你好运

      如果您担心设备上的数据(而且您应该担心!除非您对其进行加密),您可以将数据保存在服务器上,并在每次启动时检索数据

      另一方面,如果应用程序破解者让你担心,dalvik字节码现在可以使用dedexter或smali轻松反转,使用apktools和jarsigner,你实际上可以找到保护的位置,改变一些跳跃,用NOP填充代码的其余部分,使其保持一致,并将其上传到他们共享的一些饼干市场。所以这对你帮助不大。 如果你用proguard混淆了你的代码,你可以让他们的生活变得艰难,但这会让他们慢下来,不会阻止他们

      如果你的应用程序是基于web的,这意味着用户需要从你那里获取服务器数据,请为将从服务器接收的注册用户创建一个密钥(你可以基于他们的私人详细信息+IMEI),并使用该密钥验证你的请求,如果你从客户端获得错误的密钥,请拒绝请求。 这也不是100%的证据,因为请求可能是伪造的,有人可能会抓取其他人的IMEI和密钥并面对所有请求


      欢迎来到破碎的软件拷贝保护世界:-)

      这是正确的方法吗?如果用户更改了设备的日期???如果我颠倒了你的代码,让应用程序每月生成新的BT号码怎么办?那么我的应用程序仍然做它应该做的事情:阻止简单的解决方法。如果有人决心绕过审判,那么我对此无能为力。最后,任何系统都可能被“黑客”入侵,但真的值得花时间节省几美元吗?另外,我的应用程序非常专业,而且用户有钱:)。+1这是一种更简单有效的方法。有效的意思是它将对大多数用户产生预期的效果。