让服务以notification的形式,显示在前台,不容易被杀死

只需在Service的inCreate里面,构建notification,不是用NotificationManager启动,而是用startForeground来启动即可

构造pengdingIntent使前台可以打开原来的activity

Service代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
public class MyService extends Service {
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
    @Override
    public void onCreate() {
        super.onCreate();
        Intent intent = new Intent(this,MainActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,0);
        Notification notify = new Notification.Builder(this)
                .setSmallIcon(R.mipmap.ic_launcher) // 设置状态栏中的小图片,尺寸一般建议在24×24,这个图片同样也是在下拉状态栏中所显示,如果在那里需要更换更大的图片,可以使用setLargeIcon(Bitmap
                // icon)
                .setTicker("Service")// 设置在status
                // bar上显示的提示文字
                .setContentTitle("Notification Title")// 设置在下拉status
                // bar后Activity,本例子中的NotififyMessage的TextView中显示的标题
                .setContentText("This is Service")// TextView中显示的详细内容
                .setContentIntent(pendingIntent) // 关联PendingIntent
                .setNumber(1// 在TextView的右方显示的数字,可放大图片看,在最右侧。这个number同时也起到一个序列号的左右,如果多个触发多个通知(同一ID),可以指定显示哪一个。
                .build();
        startForeground(1, notify);
    }

MainActivity:

1
2
3
4
5
6
7
button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    Intent intent = new Intent(MainActivity.this,MyService.class);
                    startService(intent);
            }
        });

Service前台服务相关推荐

  1. Android Foreground Service (前台服务)-by:nixs

    一.如何保活后台服务 在Android Services (后台服务) 里面,我们了解了Android四大组件之一的Service,知道如何使用后台服务进行来完成一些特定的任务.但是后台服务在系统内存 ...

  2. Foreground Service前台服务

    Foreground Service前台服务 介绍前台服务 模拟播放器前台服务发送通知 介绍前台服务 前台服务是那些被认为用户知道(用户所认可的)且在系统内存不足的时候不允许系统杀死的服务.前台服务必 ...

  3. android Foreground Service 前台服务/notification全局通知

    android Foreground Service 前台服务/notification全局通知 前言 要素简介 前台服务(Foreground Service) 全局通知(notification) ...

  4. Android Service前台服务 StartForeground

    前言 前面写了一个脚本 来执行自动打卡 效果还不错 又学习了一些android的体系知识点 其中就用到了前台服务 利用播放器的模式 来消除被杀的可能 提高Service的优先级 如何保活Service ...

  5. Android前台服务讲解二之自定义通知视图(RemoteViews)及数据UI更新

    Notification支持文字内容显示.震动.三色灯.铃声等多种提示形式,在默认情况下,Notification仅显示消息标题.消息内容.送达时间这3项内容. 1.更新系统通知Notificatio ...

  6. Android开发之如何保证Service不被杀掉(前台服务)

    序言 最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill.参考了现今各种定制版的系统和安全厂商牛虻软件,如何能保证自 ...

  7. 安卓服务service全解,生命周期,前台服务、后台服务,启动注销、绑定解绑,注册

    全栈工程师开发手册 (作者:栾鹏) python教程全解 定义服务(服务的生命周期) 调用context.startService()时依次执行 ->onCreate()- >onStar ...

  8. android8.1启动前台服务,Android 8.0 + Service开启方式兼容处理

    Android 8.0 + ,对后台服务进行了限制了.如果依然采用之前startService()方式. 会导致问题. 前后台服务的一些区别: 有人可能会问,后台服务我们可以自己创建 ONGOING ...

  9. 前台服务(在通知栏显示服务)

    关键代码: public class MyService extends Service {@Nullable@Overridepublic IBinder onBind(Intent intent) ...

最新文章

  1. ABAP小写金额转大写
  2. 五十六、TodoList的三种写法,祭奠我的前端之路
  3. 方程式漏洞之复现window2008/win7 远程命令执行漏洞
  4. method=post 怎么让查看源代码看不到_网上文档无法复制怎么办?试试这几个方法!...
  5. HTML5 API详解(10):sessionStorage 你用过吗?
  6. 为什么css导航右边有黑色,一段CSS的导航菜单,为什么有了这个左导航之后,右面的区域用不了了...
  7. java设计思想和设计模式,快来收藏!
  8. spark架构设计编程模型 02
  9. 图解设计模式-Flyweight模式
  10. 数据库系统概论第五版(笔记)
  11. 极化码理论及算法研究2-什么是极化码?
  12. C# | 批量将CAD图幅网格外扩生成新图框(附源代码下载)
  13. 风能设备物流的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  14. 为什么cpu要一心二用:浅谈多线程编程的一个具体例子
  15. iOS 播放gif图片
  16. 微信小程序车牌组件代码
  17. 矢量绘图软件:Sketch 56 for mac
  18. 51单片机——流水灯
  19. 密码破译问题:地球和天女星座开战了,你是地球防卫军的密码破解员,以下你是破解出来的部分密码 tyt:好 huy:这 bvn:天 jkl :是 lgc:你 qqq:哈
  20. IDEA tomcat启动项目

热门文章

  1. C++设计模式之工厂模式(创建型模式)
  2. 一款仿 macOS 的开源操作系统
  3. 程序员 coding啥意思_使用Coding4Fun DevKit的vCard预览处理程序
  4. TREC的ad hoc、routing、filtering、topic等术语的解释
  5. 2022年全球市场液相色谱软件总体规模、主要企业、主要地区、产品和应用细分研究报告
  6. 程序员折腾之路---日常工具集合整理之软件篇
  7. 英菲尼迪tlme是什么意思_英菲尼迪车标含义是什么
  8. 推荐系统(4):深入浅出向量召回检索技术
  9. 2022年大厂招聘Java程序员的技术标准,你有什么看法?
  10. CH376的串口模式操作U盘(读、写、txt文件、csv文件、串口调试讲解、stm32程序)