我想清理我的應用程序在UnInstalling
應用程序上創建的垃圾。在android中卸載應用程序時調用廣播接收器
使用清單文件: -
新增清單文件:
<receiver android:name="com.netdoers.com.ui.CleanReceiver" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED" >
</action>
<data android:scheme="package"/>
</intent-filter>
</receiver>
創建接收器捕捉到BroadCast Event
public class CleanReceiver extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent) {
CustomToast.showToastMessage(context, "Uninstalling Application");
Log.e("Uninstall", "CleanReceiver Called");
}
}
在Java代碼: -
BroadCastReceiver br = new CleanReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
intentFilter.addDataScheme("package");
registerReceiver(br, intentFilter);
但是在卸載應用程序時,接收器永遠不會被調用。
在卸載應用程序的事件時,Java和Manifest都不會調用Receiver。如何在卸載應用程序時捕獲廣播事件?
@nKn:我試過這個解決方案,但它沒有爲我工作:/ –
@nKn:由於這些Action.PACKAGE_REMOVED是基於系統的廣播tht的y它沒有被調用或什麼? –
這看起來不像重複。 另一個問題不是關於我自己的應用程序。 –