java
package com.zzh.PackageReceiver; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.util.Log; import android.widget.Toast; public class PackageReceiver extends BroadcastReceiver { private String TAG = "PACER"; private static String PACERSTATUS = "package:com.zzh.pacerstatus"; @Override public void onReceive(Context context, Intent intent) { Log.d(TAG, "Receive SIP Action Responses is : " + intent.getAction()); try { Log.d(TAG,"Receive SIP Action Responses is : " + intent.getAction()); if (Intent.ACTION_PACKAGE_ADDED.equals(intent.getAction())) { //Toast.makeText(context, "有应用被添加" + intent.getDataString(), Toast.LENGTH_LONG).show(); Log.i("TAG", "有应用被添加" + intent.getDataString()); if(PACERSTATUS.equals(intent.getDataString())) { StartPacerStatus(context); } } else if (Intent.ACTION_PACKAGE_REMOVED.equals(intent.getAction())) { //Toast.makeText(context, "有应用被删除" + intent.getDataString(), Toast.LENGTH_LONG).show(); Log.i("TAG", "有应用被删除" + intent.getDataString()); } /* * else * if(Intent.ACTION_PACKAGE_CHANGED.equals(intent.getAction())){ * Toast.makeText(context, "有应用被改变", Toast.LENGTH_LONG).show(); } */ else if (Intent.ACTION_PACKAGE_REPLACED.equals(intent.getAction())) { //Toast.makeText(context, "有应用被替换" + intent.getPackage(), Toast.LENGTH_LONG).show(); Log.i("TAG", "有应用被替换" + intent.getPackage()); } /* * else * if(Intent.ACTION_PACKAGE_RESTARTED.equals(intent.getAction())){ * Toast.makeText(context, "有应用被重启", Toast.LENGTH_LONG).show(); } */ /* * else * if(Intent.ACTION_PACKAGE_INSTALL.equals(intent.getAction())){ * Toast.makeText(context, "有应用被安装", Toast.LENGTH_LONG).show(); } */ } catch (Exception e) { Log.d(TAG, "PhoneDaemonDemo UI application no start."); } } public void StartPacerStatus(Context context) { Log.i(TAG, "Service Start1"); Intent serviceIntent = new Intent(Intent.ACTION_MAIN); serviceIntent.addCategory(Intent.CATEGORY_DEFAULT); ComponentName cn = new ComponentName("com.zzh.pacerstatus", "com.zzh.pacerstatus.initVersionService"); serviceIntent.setComponent(cn); context.startService(serviceIntent); Intent serviceIntent1 = new Intent(Intent.ACTION_MAIN); ComponentName cn1 = new ComponentName("com.zzh.pacerstatus", "com.zzh.pacerstatus.VersionService"); serviceIntent1.setComponent(cn1); context.startService(serviceIntent1); Log.i(TAG, "Service Start"); } }
AndroidManifest.xml
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <receiver android:name=".PackageReceiver" > <intent-filter > <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <action android:name="android.intent.action.PACKAGE_REPLACED" /> <data android:scheme="package" /> </intent-filter> </receiver> </application>