監聽Android應用程序安裝卸載的代碼

jopen 9年前發布 | 2K 次閱讀 Java Android

  1. 需要通過receiver來監聽;
  2. 在AndroidManifest.xml文件中注冊的receiver中必須加上<data android:scheme="package"/>才可以;
  3. intent.getData().getSchemeSpecificPart()得到的是包名。

public class RegisterReceiver extends BroadcastReceiver {

    private final static String TAG = "RegisterReceiver";

    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();

        if (Intent.ACTION_PACKAGE_REMOVED.equals(action)) {
            Log.d(TAG , "package has been removed");
            String packageName = intent.getData().getSchemeSpecificPart();
            Log.d(TAG, packageName);
        } else if(Intent.ACTION_PACKAGE_ADDED.equals(action)) {
            Log.d(TAG , "package has been added");
        } 
    }
}

AndroidManifest.xml中增加的receiver

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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!