Android编程实现监控apk安装,卸载,替换的方法

2019-12-10 19:23:35王振洲
易采站长站为您分析Android编程实现监控apk安装,卸载,替换的方法,涉及Android基于Intent监控apk状态的功能实现技巧,需要的朋友可以参考下  

本文实例讲述了Android编程实现监控apk安装,卸载,替换的方法。,具体如下:

public class GetBroadcast extends BroadcastReceiver {
  private static GetBroadcast mReceiver = new GetBroadcast();
  private static IntentFilter mIntentFilter;
  public static void registerReceiver(Context context) {
    mIntentFilter = new IntentFilter();
    mIntentFilter.addDataScheme("package");
    mIntentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
    mIntentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED);
    mIntentFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);
    context.registerReceiver(mReceiver, mIntentFilter);
  }
  public static void unregisterReceiver(Context context) {
    context.unregisterReceiver(mReceiver);
  }
  @Override
  public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    if (Intent.ACTION_PACKAGE_ADDED.equals(action)) {
      Toast.makeText(context, "有应用被添加", Toast.LENGTH_LONG).show();
    } else if (Intent.ACTION_PACKAGE_REMOVED.equals(action)) {
      Toast.makeText(context, "有应用被删除", Toast.LENGTH_LONG).show();
    }
    /*
    * else if(Intent.ACTION_PACKAGE_CHANGED.equals(action)){
    * Toast.makeText(context, "有应用被改变", Toast.LENGTH_LONG).show(); }
    */
    else if (Intent.ACTION_PACKAGE_REPLACED.equals(action)) {
      Toast.makeText(context, "有应用被替换", Toast.LENGTH_LONG).show();
    }
    /*
    * else if(Intent.ACTION_PACKAGE_RESTARTED.equals(action)){
    * Toast.makeText(context, "有应用被重启", Toast.LENGTH_LONG).show(); }
    */
    /*
    * else if(Intent.ACTION_PACKAGE_INSTALL.equals(action)){
    * Toast.makeText(context, "有应用被安装", Toast.LENGTH_LONG).show(); }
    */
  }
}

希望本文所述对大家Android程序设计有所帮助。



注:相关教程知识阅读请移步到Android开发频道。