閱讀450 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Android 代碼監控apk安裝,卸載,替換

 

Java代碼

  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(); }

  */

  }

  }

最後更新:2017-04-02 06:51:56

  上一篇:go [usaco]4.2.1 最大流問題Drainage Ditches
  下一篇:go Android獲取外部和內部存儲空間總大小