一般来说是这样的,两个service相互监听,一个停止了,另一个就把停止的那个service重启
解决方案 »
- 声音管理类里AudioManager里setMode和setRingMode的区别
- 求大神指点下android程序出现的Bitmap Size vm bug
- 关于webview中的WebViewClient,急救,求解,谢谢!
- 收藏的一些关于Android UI的项目
- andriod sdk manager下载超级慢只有4KB每秒,360测试下载速度可以达到2.5M的。有什么方法可以解决?
- 如何把android工程打包嵌入真机
- 4.1.2里面的日历问题
- ubuntu ecplise 真机链接不上
- 怎么样用rtmp实现android视频聊天功能,或者其它不错的协议也可
- github.com能ping通,但是https://github.com/wyouflf/xUtils网页打不开
- android 中sqlite查询条件如何对blob类型进行处理
- 为什么我开发的安卓软件 MIUI能打开正常 安卓系统就会闪退
/**
* 用来判断服务是否运行.
* @param context
* @param className 判断的服务名字
* @return true 在运行 false 不在运行
*/
public static boolean isServiceRunning(Context mContext,String className) {
boolean isRunning = false;
ActivityManager activityManager = (ActivityManager)
mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> serviceList
= activityManager.getRunningServices(30);
if (!(serviceList.size()>0)) {
return false;
}
for (int i=0; i<serviceList.size(); i++) {
if (serviceList.get(i).service.getClassName().equals(className) == true) {
isRunning = true;
break;
}
}
return isRunning;
} 如果两个服务在不停遍历,这样也不合适,会有性能的问题
/**
* 用来判断服务是否运行.
* @param context
* @param className 判断的服务名字
* @return true 在运行 false 不在运行
*/
public static boolean isServiceRunning(Context mContext,String className) {
boolean isRunning = false;
ActivityManager activityManager = (ActivityManager)
mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo> serviceList
= activityManager.getRunningServices(30);
if (!(serviceList.size()>0)) {
return false;
}
for (int i=0; i<serviceList.size(); i++) {
if (serviceList.get(i).service.getClassName().equals(className) == true) {
isRunning = true;
break;
}
}
return isRunning;
} 如果两个服务在不停遍历,这样也不合适,会有性能的问题应该不是这样的,,,
看看利用系统时钟来实现的守护进程alarm那个我倒是知道,但是你说的另外一个servic不能是系统service吧,,,
看看利用系统时钟来实现的守护进程alarm那个我倒是知道,但是你说的另外一个servic不能是系统service吧,,,alarm定时去检测服务是否运行,如果没运行就启动,定时也会被系统休眠给干掉的吧
看看利用系统时钟来实现的守护进程alarm那个我倒是知道,但是你说的另外一个servic不能是系统service吧,,,alarm定时去检测服务是否运行,如果没运行就启动,定时也会被系统休眠给干掉的吧不会,因为是系统service
看看利用系统时钟来实现的守护进程alarm那个我倒是知道,但是你说的另外一个servic不能是系统service吧,,,alarm定时去检测服务是否运行,如果没运行就启动,定时也会被系统休眠给干掉的吧不会,因为是系统service对,系统service是不会被杀掉的,要不然系统就挂了。。
要想实现需求,我们只需要在onStartCommand里面调用 startForeground,然后再onDestroy里面调用stopForeground即可!
实际情况就譬如手机里面的音乐播放器一样,不管手机如何休眠,只要开始播放音乐了,就不会kill掉这个服务,一旦停止播放音乐,服务就可能被清掉。
2.参考下这篇文章:http://thelostriver.blog.163.com/blog/static/130364744201231385646838/