【问题标题】:Change the Status When Android app is uninstall卸载 Android 应用程序时更改状态
【发布时间】:2016-03-10 13:29:20
【问题描述】:

如何识别应用程序已卸载,基于此我想将我的数据库中的状态从 1 更改为 0 以生成

一次性密码

。如果状态未更改,则不会生成 OTP。任何解决方案?谢谢

【问题讨论】:

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

标签: android android-studio


【解决方案1】:

没有。您无法检查您的应用程序是否要卸载。

当用户卸载应用程序时,首先进程被终止,然后您的 apk 文件和数据目录被删除,以及包管理器中的记录,这些记录告诉其他应用程序您注册了哪些意图过滤器。

【讨论】:

  • 那么App卸载后如何改变状态?有什么想法吗?
  • 您可以使用分析,但无法检测特定设备是否安装了应用程序。
【解决方案2】:

感谢所有建议,

我希望这种情况用于 OTP 请求。在发送 OTP 到手机之前,我们应该检查手机号码是否存在。如果存在,则删除数据库中已具有此编号的记录,而不是将状态“1”更改为“0”。它对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-14
    • 2021-04-19
    • 1970-01-01
    • 1970-01-01
    • 2012-04-13
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多