Android实现Service在前台运行服务

 更新时间:2017年11月29日 17:16:35   作者:潘建成  
这篇文章主要为大家详细介绍了Android中实现Service在前台运行服务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

前言

在做手机音乐播放器的时候,让我非常苦恼的一件事就是手机有清理内存的软件,比如百度,360等等,一点击清理音乐就停止播放了,去后台查看发现Service已经被停止并重新启动了,这显然不是我想要的,我希望音乐能够在后台播放,并且自己能控制什么时候退出,不想让系统给我清理了,就像酷狗一直在通知栏显示那样,于是我就知道了在前台运行的服务。

实现

我们先看一下结果图:

这是运行在通知栏的界面,这样就是让服务在前台运行,再清理的时候就不会导致服务被关闭了。

好了,我们直接上代码,因为要开启服务,所以我们必须先要有一个Service的子类,然后在onCreate里面实现它。

MyService.java

public class MyService extends Service {

 public static final String TAG = "MyService";

 @Override
 public void onCreate() {
  super.onCreate();
  Notification notification = new Notification(R.drawable.ic_launcher,
    "有通知到来", System.currentTimeMillis());
  Intent notificationIntent = new Intent(this, MainActivity.class);
  PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
    notificationIntent, 0);
  notification.setLatestEventInfo(this, "幻听", "许嵩",
    pendingIntent);
  startForeground(1, notification);

 }
 @Override
 public int onStartCommand(Intent intent, int flags, int startId) {
  return super.onStartCommand(intent, flags, startId);
 }

 @Override
 public void onDestroy() {
  super.onDestroy();
 }

 @Override
 public IBinder onBind(Intent intent) {
  return null;
 }

}

可以看到,在onCreate方法里面我们得到Notification的一个对象,然后调用startForeground(1, notification);方法来实现在前台运行。如果想要退出只需要退出服务即可。

小结

在前台运行服务是十分有用的,特别是在做播放器开发的时候,如果只是简单的清理一下音乐就退出播放了,这是很不能容忍的。

像酷狗一样,在通知栏有自己Notification的自定义界面,下一篇文章我说明如何自定义Notification的界面。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 获取Android设备电池电量状态

    获取Android设备电池电量状态

    本文介绍了在Android系统中获取设备电池电量状态的方法,包括使用BatteryManager类获取电量百分比、电池状态和健康状况,以及通过注册广播接收器实时获取电量状态变化。了解这些方法可以帮助用户更好地管理设备的使用,避免因电量不足而影响使用体验。
    2023-03-03
  • Flutter质感设计之进度条

    Flutter质感设计之进度条

    这篇文章主要为大家详细介绍了Flutter质感设计之进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Android编程设置TextView颜色setTextColor用法实例

    Android编程设置TextView颜色setTextColor用法实例

    这篇文章主要介绍了Android编程设置TextView颜色setTextColor用法,结合实例形式分析了Android设置TextView颜色setTextColor、ColorStateList等方法的使用技巧与布局文件的设置方法,需要的朋友可以参考下
    2016-01-01
  • 获取Android应用专属缓存存储目录的实例

    获取Android应用专属缓存存储目录的实例

    今天小编就为大家分享一篇获取Android应用专属缓存存储目录的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • 详解Android中Activity的启动模式及应用场景

    详解Android中Activity的启动模式及应用场景

    今天给大家介绍下安卓开发中不得不涉及的Activity启动模式及应用场景,Activity一共有四种启动模式,分别是Standard模式、SingleTop模式、SingleTask模式以及SingleInstance模式,,需要的朋友可以参考下
    2023-09-09
  • 简单学习Android TextView

    简单学习Android TextView

    这篇文章主要和大家一起简单学习Android TextView,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Android开发之AppWidget详解

    Android开发之AppWidget详解

    这篇文章主要介绍了Android开发之AppWidget详解,想了解桌面程序AppWidget的同学可以参考下
    2021-04-04
  • Flutter实现页面路由及404路由拦截

    Flutter实现页面路由及404路由拦截

    这篇文章介绍了Flutter实现页面路由及404路由拦截的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-11-11
  • Android实现启动页倒计时效果

    Android实现启动页倒计时效果

    这篇文章主要介绍了Android实现启动页倒计时效果的示例代码,帮助大家更好的理解和学习使用Android进行开发,感兴趣的朋友可以了解下
    2021-04-04
  • Android设置桌面背景图片的实现方法

    Android设置桌面背景图片的实现方法

    有时候我们需要用android设置桌面背景图片,这里简单分享下,方便需要的朋友
    2013-06-06

最新评论