【发布时间】:2016-03-10 13:29:20
【问题描述】:
如何识别应用程序已卸载,基于此我想将我的数据库中的状态从 1 更改为 0 以生成
一次性密码
。如果状态未更改,则不会生成 OTP。任何解决方案?谢谢
【问题讨论】:
-
谢谢,但我们应用中的 OTP 生成是基于状态变量的。安装我们的 App 后状态从 0 更改为 1。我的意图是当应用再次卸载时,状态变量从 1 更改为 0
-
您不能通过任何服务器调用来通知您的服务器应用程序被卸载。您最好的选择是在安装应用程序时在设备的外部存储中写入文件(最好是隐藏文件)。因此,逻辑是每次安装您的应用程序时,它都会检查该文件,如果发现这意味着您的应用程序之前已安装,如果未找到,则将其视为全新安装并写入文件。请注意,用户可以查看和删除外部存储中的文件,因此您可以尝试使用隐藏的无法保证其存在的文件。
-
您可以尝试使用 GCM。您将无法识别用户卸载您的应用程序的那一刻,但我相信您可以在尝试向用户发送消息时通过 GCM 的错误消息来判断应用程序是否已被卸载。因此,您需要一个脚本,该脚本尝试使用 GCM 向用户发送消息,如果无法传递消息,则将状态从 1 更改为 0。我不确定这是否是唯一无法传递消息的情况,这只是一个想法。 ;) :)
-
其他解决方案“可能是”,让您的应用每天(例如午夜)向您的数据库发送一些内容。如果多天没有收到数据,则假定它已被卸载。请注意,这也可能是由于没有互联网连接,但在这种情况下您不必生成 OTP。这只是一个想法,我不确定你的逻辑。