如果android使用百度推送出现:
exception: Unable to instantiate receiver com.baidu.android.pushservice.RegistrationReceiver: java.lang.ClassNotFoundException:
com.baidu.android.pushservice.RegistrationReceiverandroid.app.ActivityThread.handleReceiver(ActivityThread.java:2223)
android.app.ActivityThread.access$1500(ActivityThread.java:137)
android.app.ActivityThread$H.handleMessage(ActivityThread.java:1279)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.app.ActivityThread.main(ActivityThread.java:4863)
java.lang.reflect.Method.invokeNative(Native Method)
java.lang.reflect.Method.invoke(Method.java:511)com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)dalvik.system.NativeStart.main(Native Method)
出现该错误的原因是:缺少libs->armeabi->libbspatch.so文件
转载自eoe:
/**
*判断当前应用程序处于前台还是后台
*/
public static boolean isApplicationBroughtToBackground(final Context context) {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
ComponentName topActivity = tasks.get(0).topActivity;
if (!topActivity.getPackageName().equals(context.getPackageName())) {
return true;
}
}
return false;
}
上面这段代码是需要一个权限的:
<uses-permission android:name="android.permission.GET_TASKS" />
下面这段代码无需权限的:
public static boolean isBackground(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();
for (RunningAppProcessInfo appProcess : appProcesses) {
if (appProcess.processName.equals(context.getPackageName())) {
if (appProcess.importance == RunningAppProcessInfo.IMPORTANCE_BACKGROUND) {
Log.i("后台", appProcess.processName);
return true;
}else{
Log.i("前台", appProcess.processName);
return false;
}
}
}
return false;
}
转载:http://www.foshan100.com/thread-1345-1-1.html
就是在自己的应用中,监听系统新安装程序或者卸载程序,用到BroadcastReceiver
首先在manifest中加入权限 注册一个Receiver 这里提一下,PackageReceiver继承BroadcastReceiver,并且在HomeActivity中,属于 public 和 static 的内部类在HomeAcitivity中,PackageReceiver如下: