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

nao*_*1ta 5 android uninstall broadcastreceiver

我发现了如何检测卸载事件并测试以下代码.

Receiver.java中:

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

manifest.xml中:

<receiver android:name="....base.BaseAppReceiver">
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_REMOVED"/>
                <data android:scheme="package"/> 
            </intent-filter>
        </receiver>
Run Code Online (Sandbox Code Playgroud)

但它只检测到其他应用程序何时被卸载.我想在卸载"我的"应用程序而不是"其他"应用程序之前做一些事情.请让我知道如果可以,我的应用程序如何检测卸载事件以便在卸载我的应用程序之前处理某些内容.

Com*_*are 4

这是不可能的,抱歉。如果您将文件放在正确的目录中,它们将被自动删除,但卸载应用程序时无法执行其他操作。

  • @nao0811ta:内部存储上的所有内容(`getFilesDir()`、`getCacheDir()`、标准 SQLite 数据库和 `SharedPreference` 位置、`openFileOutput()` 等)都将在卸载时删除。此外,卸载时,存储在“getExternalFilesDir()”和“getExternalCacheDir()”中的文件将被删除。 (2认同)