获取正在运行的服务

手机上安装的App,在后台运行着很多不同功能的服务,最常见的例如消息推送相关的服务。如何查看这些服务?如何判断某个服务是否正在运行?如何停止某一个服务呢?请看下面的方法:

package com.example.servicelistdemo;import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;import android.app.Activity;
import android.app.ActivityManager;
import android.app.ActivityManager.RunningServiceInfo;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ListView lv = (ListView) findViewById(R.id.lvService);List<String> serviceList = new ArrayList<String>();//获取服务列表ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);List<RunningServiceInfo> runningServicesList = activityManager.getRunningServices(Integer.MAX_VALUE);for(RunningServiceInfo si: runningServicesList){serviceList.add(si.service.getClassName());}ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, serviceList);lv.setAdapter(adapter);adapter.notifyDataSetChanged();}/*** 用来判断服务是否运行.** @param ctx       Context* @param className 判断的服务的名字 "com.xxx.xx..XXXService"* @return true 在运行, false 不在运行*/public static boolean isServiceRunning(Context ctx, String className) {boolean isRunning = false;ActivityManager manager = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);List<RunningServiceInfo> servicesList = manager.getRunningServices(Integer.MAX_VALUE);Iterator<RunningServiceInfo> iterator = servicesList.iterator();while (iterator.hasNext()) {RunningServiceInfo service = (RunningServiceInfo) iterator.next();if (className.equals(service.service.getClassName())) {isRunning = true;}}return isRunning;}/*** 停止服务.** @param ctx       Context* @param className 服务的名字 * @return true 在运行, false 不在运行*/public static boolean stopRunningService(Context ctx, String className) {Intent intent_service = null;boolean ret = false;try {intent_service = new Intent(ctx, Class.forName(className));} catch (Exception e) {e.printStackTrace();}if (intent_service != null) {ret = ctx.stopService(intent_service);}return ret;}
}

代码很好理解,就不详细分析了,运行效果图如下:
手机服务列表

转载于:https://www.cnblogs.com/lishbo/p/9956031.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/282100.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发composer包

一、初始化&#xff08;生成composer.json文件&#xff09; composer init#输入你要创建的composer包项目命名空间 Package name (<vendor>/<name>) [root/tiny-laravel]: #haveyb/tiny-laravel #输入composer包的描述 Description []:#this is a tiny laravel h…

Linux本地yum源配置以及使用yum源安装gcc编译环境

本文档是图文安装本地yum源的教程&#xff0c;以安装gcc编译环境为例。 适用范围&#xff1a;所有的cetos,红帽,fedroa版本 适用人群&#xff1a;有一点linux基础的小白 范例系统版本&#xff1a;CentOS Linux release 7.3.1611 (Core) 范例环境&#xff1a;vmware 虚拟机 安装…

word如何设置上标形式_如何在word中设置特殊页码

获取更多业界资讯和深度好文● 点击蓝字关注我们 ●在日常工作中&#xff0c;我们编辑的word文档经常需要设置页码&#xff0c;但有时文档的第一页是封面&#xff0c;第二页才是正文&#xff0c;或者第二页是目录&#xff0c;第三页才是正文&#xff0c;如下图所示&#xff0c;…

发布composer包到 Packagist,并设置自动同步(从github到Packagist)

一、发布composer包 1、将我们写好的项目包发布到github上 这一步不赘述&#xff0c;应该都会。 但是需要注意的是&#xff0c;我们一定要为我们的项目包打上tag之后再提交&#xff0c;否则 我们composer require时可能会报错 Could not find a version of package。 # 设置…

教你在CorelDRAW中导入位图

在CorelDRAW软件中不能直接打开位图图像&#xff0c;在实际操作中&#xff0c;用户需要使用导入位图图像的方法进行操作。导入位图图像时&#xff0c;可以导入整幅图像&#xff0c;也可以在导入的过程中对图像进行裁剪&#xff0c;或重新取样图像&#xff0c;导入整幅位图图像时…

.NET 6 中将 ASP.NET Core 注册成 Windows Service

前言使用 Visual Studio 中的 Worker Service项目模板:我们很容易创建出 Windows Service&#xff1a;IHost host Host.CreateDefaultBuilder(args).UseWindowsService().ConfigureServices(services >{services.AddHostedService<Worker>();}).Build();await host.R…

19.12 添加自定义监控项目 配置邮件告警 测试告警

9月12日任务19.12 添加自定义监控项目19.13/19.14 配置邮件告警19.15 测试告警19.16 不发邮件的问题处理19.12 添加自定义监控项目需求&#xff1a;监控某台web的80端口连接数&#xff0c;并出图两步&#xff1a;1&#xff09;zabbix监控中心创建监控项目&#xff1b;2&#xf…

wab框架

http协议 一、http简介 1.HTTP是一个基于TCP/IP通信协议来传递数据&#xff08;HTML 文件, 图片文件, 查询结果等&#xff09;。 2.HTTP是一个属于应用层的面向对象的协议&#xff0c;由于其简捷、快速的方式&#xff0c;适用于分布式超媒体信息系统。它于1990年提出&#xff0…

c++ 二维矩阵 转vector_Python线性代数学习笔记——矩阵的基本运算和基本性质,实现矩阵的基本运算...

当学习完矩阵的定义以后&#xff0c;我们来学习矩阵的基本运算&#xff0c;与基本性质矩阵的基本运算&#xff1a;矩阵的加法&#xff0c;每一个对应元素相加&#xff0c;对应结果的矩阵例子&#xff1a;矩阵A和矩阵B表示的是同学上学期和下学期的课程的成绩&#xff0c;两个矩…

android 4.4以上能够实现的沉浸式状态栏效果

仅仅有android4.4以及以上的版本号才支持状态栏沉浸效果 先把程序执行在4.4下面的手机上,看下效果: 在4.4以上的效果: 当然图片也是能够作为背景的.效果: 代码: if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {Window window getWindow();window.setFlags(Wind…

为abp vnext生成C#客户端给非abp第三方net程序使用

abp vnext提供了动态C#API客户端和静态C#API客户端来调用abp项目的接口&#xff0c;但是有局限性&#xff1b;要使用动态C#API客户端的项目必须也是ABP vnext的项目。静态C#API客户端也依赖abp的包&#xff0c;如下图为的静态客户端依赖于 Volo.Abp.DependencyInjection、Volo.…

C#项目代码规范

目的 1.方便代码的交流和维护。 2.不影响编码的效率&#xff0c;不与大众习惯冲突。 3.使代码更美观、阅读更方便。 4.使代码的逻辑更清晰、更易于理解。 在C#中通常使用的两种编码方式如下 Camel(驼峰式)&#xff1a; 大小写形式&#xff0d;除了第一个单词&#xff0c;所有单…

.NET MAUI实战 FolderPicker

1.概要最近在迁移 GeneralUpdate.Tool的时候需要用到文件夹选择&#xff0c;在MAUI中可以使用FolderPicker进行选择。注意&#xff0c;和上篇文章的文件选择不一样。因为在.NET MAUI中目前还没有傻瓜式直接可用的FolderPicker供开发者使用所以需要自己动手做一些修改。完整示例…

h5外卖源码php_校园食堂外卖APP走红 更多APP定制开发上一品威客网

近日&#xff0c;西安一高校推出了一款校园食堂外卖APP走红网络。该APP涵盖学校食堂的所有饭菜&#xff0c;并可给该校的师生提供校园食堂饭菜外卖服务。饭菜价格与食堂统一&#xff0c;且仅供该校内的师生使用。 目前开发校园外卖订餐系统可谓是一个较热门的创业项目&#xff…

微信自定义tabbar有小红点_自定义微信小程序tabBar组件上边框的颜色

背景&#xff1a;在微信小程序的实际开发过程中&#xff0c;有时候我们需要修改微信小程序提供的 tabBar 组件顶部边框的颜色&#xff0c;以满足项目需求解决方案&#xff1a;方式一&#xff1a;通过tabBar组件自带的 borderStyle 属性来控制边框的颜色&#xff0c;将边框的颜色…

又一批优质.NET6实战项目,面临永久下线...

多好的实战项目大家抓紧时间实操起来呀移动电商实战这次能上岸&#xff0c;最重要的是这个Vue3VantUI.NET6SqlSugar移动电商实战&#xff0c;全部都是最新最热的技术栈&#xff0c;写上简历后面试基本上都是问的这块儿内容。我先给大家看看项目的UI。项目UI全套实战源码这个电商…

laravel 配置微信公众号时{errcode:-106,errmsg:token check fail}

一、问题描述 做微信授权登录时&#xff0c;遇到的一个坑&#xff0c;提示配置失败&#xff0c;F12&#xff0c;响应为 errcode":-106,"errmsg":"token check fail 二、解决方案&#xff1a; 注&#xff1a;宗旨就是让微信能够访问你填写的网址&#xff…

电商企业怎样用好大数据

电商企业怎样用好大数据 大数据正在促生新的蓝海&#xff0c;催生新的经济增长点&#xff0c;正在成为政府和企业竞争的新焦点。2012年&#xff0c;瑞士达沃斯论坛发布《大数据&#xff0c;大影响》报告&#xff0c;称“数据已经成为一种新的经济资产类别&#xff0c;就像货币或…

同步方法 调用异步防范_Spring一个注解实现方法的异步调用,再也不用单开线程了...

介绍同步调用先来演示一下什么是同步调用测试方法输出如下doTaskOne start 1566121320372doTaskOne end 1566121321373doTaskTwo start 1566121321373doTaskTwo end 1566121322374可以看到方法一执行完毕&#xff0c;方法二才会执行异步调用不返回值1.Spring Boot启动类上加Ena…

【源码探索】.NET中的List,是哪种数据结构

“当你提出疑问并开始思考时&#xff0c;答案就离你不远了”图片&#xff1a;奥森公园的向日葵 拍摄于2022年7月23日 摄影师&#xff1a;刘先生01—问题缘起严格来说应该是List<T>&#xff0c;因为.NET的核心基础类库中&#xff0c;并没有List&#xff0c;作为泛型类型的…