【问题标题】:How to display alert message when app uninstall from setting in mobile从移动设备中的设置卸载应用程序时如何显示警报消息
【发布时间】:2015-10-30 14:30:27
【问题描述】:

如果我想从手机设置中卸载(设置-> 应用管理器),那么我想显示警报消息“are you sure want to save database your uninstallING app ?。如果是,那么我想要备份数据库并且不想像往常一样设置卸载表单进行卸载。这可能吗?

或者

我可以在构建 apk 到清单文件中当前应用程序的备份数据库时定义吗?是否可以。我尝试在清单文件中设置 android:allowBackup="true" 但无法理解如何使用此功能或任何其他可用选项,请转发给我消息..

已编辑:

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

【问题讨论】:

    标签: android uninstallation


    【解决方案1】:

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

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

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

    根据编辑后的问题进行编辑:

    android:allowbackup

    是否允许应用参与 备份和恢复基础设施。如果此属性设置为 false,不会执行应用程序的备份或恢复, 即使通过一个完整的系统备份,否则会导致所有 要通过 adb 保存的应用程序数据。 这个的默认值 属性为真
    这意味着如果您将其设置为 true,它不会改变任何行为。

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

    【讨论】:

      【解决方案2】:

      根本不可能

      您可以使用广播接收器获得卸载警报,但您只收到广播用于其他应用程序的卸载,而不是用于您自己的应用程序。

      原因:如果您编写广播以获得应用程序的卸载通知,并且当用户卸载您的应用程序时,该广播已在通知您之前被删除/删除/取消注册。所以它根本不可能得到你自己的应用程序的卸载通知。

      【讨论】:

      • 非常感谢,给我信息。
      • 当卸载另一个应用程序(不同于您自己的应用程序)时,您自己的应用程序中的广播接收器只会在其他应用程序被卸载后被调用,OP 询问在卸载之前接收意图广播。
      【解决方案3】:

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

      1. 创建无限线程并通过 logcat 阅读器确定启动应用程序。
      2. 确定启动应用程序 - 应用程序 - 设置或删除:搜索带有字符串“android.settings.APPLICATION_DETAILS_SETTINGS”、“android.intent.action.UNINSTALL_PACKAGE”或“android.intent.action.DELETE”的行。
      3. 执行“警报”操作(将数据库保存到 sdcard/server 或类似设备)。
      4. 等待启动任何其他应用程序并从 sdcard/server 中删除已保存的数据库。 如果第 4 点有效,则该用户删除另一个(不是我们的)应用。

      我在我的应用程序中使用 1-3 点,它工作正常,但它在任何删除任何应用程序时都有效。

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-11-29
          相关资源
          最近更新 更多