在android系統中,安裝和卸載都會發送廣播,當應用安裝完成後系統會發android.intent.action.PACKAGE_ADDED廣播。可以通過intent.getDataString()獲得所安裝的包名。當卸載程式時系統發android.intent.action.PACKAGE_REMOVED廣播。同樣intent.getDataString()獲得所卸載的包名。
應用程式無法監聽自己的安裝與卸載,但覆蓋安裝可以監聽到自己的android.intent.action.PACKAGE_REMOVED廣播。代碼如下,如有錯誤,望高人指正:

 

public class PackageReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
String packageName = intent.getDataString();
Log.i("Test","---------------" + packageName);
}

 

if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
String packageName = intent.getDataString();
Log.i("Test","---------------" + "PACKAGE_REMOVED" + packageName);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
 
 
if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {
String packageName = intent.getDataString();
Log.i("Test","---------------" + "PACKAGE_REMOVED" + packageName);
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()