我先前做了一个音乐播放器,因为播放音乐一般都是用服务来处理的。
当用户点击播放按钮时,音乐在服务中播放,然后用用户退出程序(服务进程还在,音乐还继续),所以妥用户点再次进入应用时,我们播放器要处于播放状态,这里我作了简单的处理,判断这个音乐服务是否开启来完成的。
今天给大家的小例子是列出Android设备中所有启动的服务,及判断某个服务是否开启,具体步骤如下了:
第一步:新建一个Android工程,命名为RunningService。
第二步:修改RunningService.java代码如下:
- view plaincopy to clipboardprint?
- package com.tutor.runningservice;
- import java.util.List;
- import android.app.Activity;
- import android.app.ActivityManager;
- import android.os.Bundle;
- import android.widget.TextView;
- public class RunningService extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- //setContentView(R.layout.main);
- TextView mTextView = new TextView(this);
- ActivityManager mActivityManager =
- (ActivityManager)getSystemService(ACTIVITY_SERVICE);
- List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager.getRunningServices(30);
- //我要判断的服务名字,我在launcher2里加了一个音乐服务
- final String musicClassName = "com.android.launcher2.MusicService";
- boolean b = MusicServiceIsStart(mServiceList, musicClassName);
- mTextView.setText("你要判断的服务状态为: " +b+"\n" + getServiceClassName(mServiceList));
- setContentView(mTextView);
- }
- //通过Service的类名来判断是否启动某个服务
- private boolean MusicServiceIsStart(List<ActivityManager.RunningServiceInfo> mServiceList,String className){
- for(int i = 0; i < mServiceList.size(); i ++){
- if(className.equals(mServiceList.get(i).service.getClassName())){
- return true;
- }
- }
- return false;
- }
- //获取所有启动的服务的类名
- private String getServiceClassName(List<ActivityManager.RunningServiceInfo> mServiceList){
- String res = "";
- for(int i = 0; i < mServiceList.size(); i ++){
- res+=mServiceList.get(i).service.getClassName()+ " \n";
- }
- return res;
- }
- }
第三步:运行上述工程,查看效果!
相关推荐
当设备启动完成并达到可接收广播的状态时,BroadcastReceiver的`onReceive()`方法会被调用。 开机启动广播的注册有两种方式:静态注册和动态注册。静态注册是在AndroidManifest.xml文件中声明BroadcastReceiver,...
而本文将介绍android设备中已启动的服务,并判断某一服务是启动 1.根据ACTIVITY_SERVICE获取系统服务 activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 2.获取系统中正在运行的服务 ...
在Android系统中,开机启动服务(Boot Completed Service)是一种特殊的服务类型,它可以在设备完成启动后自动启动,以便执行特定的任务,例如后台录音。这里我们将深入探讨如何实现Android开机启动服务以及后台录音...
- 启动服务或组件:在`onReceive()`方法中,你可以启动服务(Service)或直接执行需要的任务,但要注意不要进行耗时操作,因为这可能导致设备启动缓慢。 4. 注意事项: - 自启动应用可能会影响设备性能和电池寿命...
在Android系统中,"开机自启动"是指当设备完成启动过程后,某些应用程序或服务能够自动启动并开始运行。这通常涉及到系统级别的设置和权限管理,对于开发者来说,理解和掌握这个功能是创建后台服务和持续运行应用的...
在Android系统中,应用自启动是指应用程序在设备启动完成后自动运行的一种机制。这对于某些需要后台服务持续运行或者希望在用户开机后立即提供服务的应用来说是非常重要的。本篇将详细讲解如何实现Android应用的自...
"Android后台服务自启动"是指在特定条件下(如设备启动、接收到特定广播等)自动启动服务的功能。这对于实现定时任务、后台音乐播放、后台数据同步等需求非常关键。 一、Android Service基础知识 1. Service分类:...
在Android系统中,"开机启动service"是指一种机制,允许应用程序在设备启动完成后自动启动一个服务(Service)。这种功能常用于需要在后台持续运行的任务,例如闹钟、定时任务或者同步服务等。以下是对如何实现...
为了实现开机自启动,我们需要创建一个广播接收器`BootReceiver`,该接收器会在设备启动时触发。首先,在`AndroidManifest.xml`中注册这个接收器,并设置`BOOT_COMPLETED`权限: ```xml <receiver android:name="....
在Android平台上运行基于Vue.js开发的应用程序是一种将前端技术与移动平台结合的创新方式。...不过,这也需要开发者具备Android开发和前端技术的双重知识,以及对如何在Android环境中运行Web服务的理解。
1. **Qt for Android**:Qt for Android是Qt框架的一个扩展,它使得Qt开发者能够将他们的C++代码移植到Android设备上,同时保持Qt的编程风格和优势。 2. **Android服务(Service)**:在Android系统中,服务是一种...
- `Android 中tomcat搭建本地服務器 - Tomcat小站.mht`:这可能是另一个关于在Android设备上搭建Tomcat服务器的指南。 - `android开发中tomcat服务器怎么设置?的终极解决教程 - 大灰狼教程网.mht`:这个教程可能是...
在Android系统中,"开机自启动"是指当设备完成启动过程后,某些应用程序或服务能够自动启动,无需用户手动操作。这通常涉及到Android系统的广播接收器(BroadcastReceiver)和权限设置。下面将详细讲解Android开机自...
2. **开机自启动**:在Android中,开机自启动通常通过创建一个BroadcastReceiver来实现,这个接收器监听ACTION_BOOT_COMPLETED广播,当设备启动完成后,系统会发送这个广播。在BroadcastReceiver的onReceive()方法中...
综上所述,监听Android设备上其他应用的启动,需要根据API版本选择合适的方法。对于较新的Android版本,需要结合多种技术,如BroadcastReceiver和UsageStatsManager,以实现对应用启动的跟踪和分析。同时,理解...
标题中的"Delphi EX10 Android 实现开机自启动"是指使用Embarcadero Delphi XE10(也称为 RAD Studio XE10)开发的Android应用程序,目的是使其能够在设备启动时自动运行。这个过程涉及到Android系统的权限管理和...
在Android系统中,"开机自动启动服务"(Boot Start Service)是一种常见的功能,它使得应用程序在设备启动完成后能够自动运行特定的服务。这对于那些需要后台运行的任务,如消息推送、定时任务或者数据同步等非常...
1. **开机自启动**:Android设备开机后,允许开发者通过注册BroadcastReceiver来监听ACTION_BOOT_COMPLETED广播事件,当系统完成启动后,这个广播会被发送。要实现应用在开机时自动启动,你需要在AndroidManifest....