应用有3中状态:安装,更新和卸载,因此需要3个广播:
清单文件配置如下:
<receiver android:name="com.ldw.appstatus.apPReceiver"> <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED"/> <action android:name="android.intent.action.PACKAGE_REPLACED"/> <action android:name="android.intent.action.PACKAGE_REMOVED"/> <data android:scheme="package"/> </intent-filter> </receiver>监控app状态代码:package com.ldw.appstatus;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.Uri;import android.widget.Toast;public class appReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String action = intent.getAction(); Uri uri = intent.getData();//获取到应用的包名 if("android.intent.action.PACKAGE_ADDED".equals(action)){ Toast.makeText(context, uri.toString() + "被安装了", Toast.LENGTH_SHORT).show(); } else if("android.intent.action.PACKAGE_REPLACED".equals(action)){ Toast.makeText(context, uri.toString() + "被更新了", Toast.LENGTH_SHORT).show(); } else if("android.intent.action.PACKAGE_REMOVED".equals(action)){ Toast.makeText(context, uri.toString() + "被卸载了", Toast.LENGTH_SHORT).show(); } }}
新闻热点
疑难解答