如何在移动设置中卸载应用时显示提醒消息

时间:2014-10-17 10:25:42

标签: android uninstall

如果我尝试从移动设置(设置 - >应用管理器)进行卸载,那么我想显示提醒消息“ are you sure want to save database your uninstallING app ? 。是的然后我想像往常一样备份数据库而不是像卸载表单设置一样卸载。是否可能?

我可以定义什么时候建立apk来清理menifest文件中当前应用程序的数据库。是否可能。我尝试在清单文件中设置 android:allowBackup =“true”,但无法理解如何使用或不使用任何其他选项请转发给我留言..

编辑:

其他选项,我应该在卸载应用程序时给出消息或编辑下面的对话框并给出带复选框的选项,其中一个是数据库备份。 enter image description here

4 个答案:

答案 0 :(得分:3)

简短回答:不,这是不可能的。

应用程序运行时可以进行数据库备份。设置 - > App Manager是Android系统域,您无法将应用程序编程为在该范围内以任何xyz方式运行。

除非您希望自己的应用在具有root设备的自定义受控环境中运行。

根据编辑过的问题进行修改:

android:allowbackup

  

是否允许申请参加   备份和还原基础结构。如果此属性设置为   false,不会执行应用程序的备份或恢复,   甚至通过全系统备份,否则将导致所有   要通过adb保存的应用程序数据。 此默认值   属性为真
  意思是如果将其设置为true,则不会更改任何行为。

另一部分不清楚,我建议,如果它与原始问题不同,请提出一个仅指明该问题的新问题。

答案 1 :(得分:1)

根本不可能

您可以使用广播接收器获取卸载警报,但是您的广播仅适用于其他应用程序的卸载,但绝不会用于您自己的应用程序。

原因:如果您编写广播以获取应用的卸载通知,以及何时用户卸载您的应用,广播已被删除/删除/取消注册,然后再通知您。因此,它根本无法获得卸载您自己的应用程序的通知。

答案 2 :(得分:0)

您可以尝试创建下一个算法:

  1. 通过logcat reader确定启动应用程序来创建无限线程。
  2. 确定启动应用 - 应用 - 设置或删除:使用字符串搜索行" android.settings.APPLICATION_DETAILS_SETTINGS"," android.intent.action.UNINSTALL_PACKAGE"或" android.intent.action.DELETE"。
  3. 执行警告' -action(将数据库保存到SD卡/服务器或类似设备)。
  4. 等待启动任何其他应用程序并从sdcard / server删除已保存的数据库。 如果第4点工作,用户删除另一个(不是我们的)应用程序。
  5. 我在我的应用程序中使用了1-3分,它运行正常,但它可以删除任何应用程序。

答案 3 :(得分:0)

你可以。 您可以使用设备管理员API执行此操作。