后台常驻服务, 有时候需要判断Service是否在运行. 为此封装成一个工具类.

有两种方法:
  • 使用Android SDK API, 代码如下:

    /**     * 判断Service是否正在运行     *     * @param context     上下文     * @param serviceName Service 类全名     * @return true 表示正在运行,false 表示没有运行     */    public static boolean isServiceRunning(Context context, String serviceName) {        ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);        List<ActivityManager.RunningServiceInfo> serviceInfoList = manager.getRunningServices(200);        if (serviceInfoList.size() <= 0) {            return false;        }        for (ActivityManager.RunningServiceInfo info : serviceInfoList) {            if (info.service.getClassName().equals(serviceName)) {                return true;            }        }        return false;    }
  • 使用类成员变量, 然后对外提供public static 方法. 代码如下
  • //在 onCreate()方法或者, onStartCommand()方法中赋值public class TestService extends Service{private volatile static TestService service;    @Override    public void onCreate() {        super.onCreate();//service = this;//这里赋值    }    @Override    public int onStartCommand(Intent intent, int flags, int startId) {        super.onStartCommand(intent, flags, startId);        //service = this;//也可以在这里赋值        return START_STICKY;    }        @Override    public void onDestroy() {        super.onDestroy();        service = null;//这里断开强引用, 重置为null    }         /**     * 服务是否存活     *     * @return true: 存活     */    public static boolean isServiceRunning() {        return service != null;    }}

    更多相关文章

    1. View点击涟漪效果
    2. Android(安卓)两种串口实现方法总结
    3. 在Android中 使用 java.net.URI 与 android.net.Uri 的区别
    4. android onClick事件的不同写法
    5. Android(安卓)2017最新面试题 深圳华为 腾讯 中兴 腾讯详细解析
    6. Android开发——AsyncTask的使用以及源码解析
    7. Android(安卓)事件分发机制详解
    8. Vue和iOS、Android交互
    9. Android系统服务初始化源码分析

    随机推荐

    1. Android手机号、串号获取
    2. android view子类的构建
    3. Android获取手屏幕尺寸
    4. Android状态栏通知
    5. Android(安卓)Power Management【by Stev
    6. android蓝牙开发入门到精通4------通信标
    7. Android(安卓)hex RGB 各种颜色值 colors
    8. Android中播放视频
    9. android中实现图片的上下移动
    10. android UI自定义设计圆形ImageView