您可以注册一个PACKAGE_INSTALL和PACKAGE_ADDED接收器以接收软件包安装和卸载事件,然后在添加新软件包时从onReceive of Broadcast Receiver的onReceive上启动服务(即IntentService)以显示通知.
在Manifest.xml中:
在PackageReceiver中:
public class PackageReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.PACKAGE_INSTALL)) {
//START YOUR SERVICE HERE
}
}
}
或者,您也可以在服务中动态注册接收者
br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
//SHOW notification here or Start Notification Service
}
};
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED);
intentFilter.addAction(Intent.ACTION_PACKAGE_INSTALL);
intentFilter.addDataScheme("package");
registerReceiver(br, intentFilter);