1. AppStateChange:

 1 package com.example.broadcastdemo;
 2 
 3 import android.app.Activity;
 4 import android.content.BroadcastReceiver;
 5 import android.content.Context;
 6 import android.content.Intent;
 7 import android.content.IntentFilter;
 8 import android.os.Bundle;
 9 import android.util.Log;
10 
11 import androidx.annotation.Nullable;
12 
13 /**
14  * 监听应用的安装与卸载: 主要是手机客户信息。
15  */
16 public class AppStateChange extends Activity{
17     private static final String TAG = "AppStateChange";
18     private AppStateChangeReceiver mAppStateChangeReceiver;
19 
20     @Override
21     protected void onCreate(@Nullable Bundle savedInstanceState) {
22         super.onCreate(savedInstanceState);
23         setContentView(R.layout.activity_appstate);
24         Log.d(TAG, "123");
25 
26         registerAppStateChangeReceiver();
27     }
28 
29     private void registerAppStateChangeReceiver() {
30         IntentFilter intentFilter = new IntentFilter();
31         intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
32         intentFilter.addAction(Intent.ACTION_PACKAGE_CHANGED);
33         intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
34         mAppStateChangeReceiver = new AppStateChangeReceiver();
35         this.registerReceiver(mAppStateChangeReceiver, intentFilter);
36         Log.d(TAG, "1234");
37     }
38 
39     private class AppStateChangeReceiver extends BroadcastReceiver{
40 
41         private static final String TAG = "AppStateChangeReceiver";
42 
43         @Override
44         public void onReceive(Context context, Intent intent) {
45             String action = intent.getAction();
46             if (Intent.ACTION_PACKAGE_ADDED.equals(action)) {
47                 Log.d(TAG, "软件安装成功:" + intent.getData());
48             }
49             else if(Intent.ACTION_PACKAGE_REMOVED.equals(action)){
50                 Log.d(TAG, "软件卸载成功:" + intent.getData());
51             }
52         }
53     }
54 
55     @Override
56     protected void onDestroy() {
57         super.onDestroy();
58         if (mAppStateChangeReceiver != null) {
59             this.unregisterReceiver(mAppStateChangeReceiver);
60         }
61     }
62 }

由于是Android 8.1版本,所以使用动态监听

posted on 2021-10-07 16:53  EndlessShw  阅读(210)  评论(0编辑  收藏  举报