卸载我的Android应用程序之前如何做某事?

时间:2014-01-24 12:57:11

标签: android broadcastreceiver uninstall

我找到了如何检测卸载事件并测试以下代码。

Receiver.java

    @Override
public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    Log.d(TAG, "received broadcast : " + action);
}

manifest.xml

<receiver android:name="....base.BaseAppReceiver">
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_REMOVED"/>
                <data android:scheme="package"/> 
            </intent-filter>
        </receiver>

但它只检测到其他应用程序卸载时。 我想在卸载“我的”应用程序而不是“其他”应用程序之前做一些事情。 请告诉我,如果可以的话,我的应用程序如何在卸载我的应用程序之前检测卸载事件以进行处理。

2 个答案:

答案 0 :(得分:3)

对不起,这是不可能的。如果将文件放在正确的目录中,它们将被自动删除,但卸载应用程序时无法完成其他工作。

答案 1 :(得分:1)

您无法收听自己的卸载事件。试想一下你试图打电话给任何将要卸载的课程,怎么可能呢?

如果你想实现,那么你需要再创建一个名为 WatchDog 的应用程序,它将在你的应用程序被卸载时进行处理。

希望它会帮助你...... !!!