我们的Android应用程序将用户数据存储在服务器上。只要用户不卸载应用程序就可以了。一旦他这样做,我们需要从服务器中删除任何用户数据。问题是,我们不知道用户何时卸载应用程序。
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
虽然可以监听卸载,但您无法进行网络呼叫以告知服务器删除文件。相反,你可以:
下次用户安装应用程序时清除数据(注册新设备)。
让应用程序每隔n天ping一次您的服务器。每隔n + 1天,您运行一个服务器脚本,以清除n天内没有ping通的用户的数据。 Tim Castelijns正确地指出,如果用户离线n天,这将导致数据擦除。因此,此选项取决于您保留的数据,以及用户希望它保留在服务器上的时间。
如果您在卸载前确实需要执行某些操作,可以尝试以下解决方案:How can an app detect that it's going to be uninstalled?
答案 1 :(得分:0)
部分你可以做到这一点。
通过在Manifest.xml中添加以下intent-filter,您可以显示卸载app的用户活动(也可以是您的应用)。
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.DELETE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="package" />
</intent-filter>
您甚至可以过滤包名称,这意味着当您的应用程序卸载时,它会提示您。