Android Service---在前台运行服务

Android startForegroundService与startForeground service启动有四种形式。1.显示启动(如直接按service的全路径启动)2.隐示启动(如通过intent-filter的action标签启动)3.通过bindservice显示启动。4.通过bindservice隐示启动。 阅读详情
前台服务是哪些被认为用户知道的并且在内存低的时候不允许系统杀死的服务。前台服务必须给状态栏提供一个通知,他被放到了“正在进行中(Ongoing)”标题之下,这就意味着直到这个服务被终止或从前台删除通知才能被解除。

例如,一个播放音乐的音乐播放器服务应该被设置在前台运行,因为用户明确的知道它们的操作。状态栏中的通知可能指明了当前的歌曲,并且用户启动一个跟这个音乐播放器交互的Activity。

要让你的服务在前台运行,需要调用startForeground()方法,这个方法需要两个参数:一个唯一标识通知的整数和给状态栏的通知,如:

Notification notification = new Notification(R.drawable.icon, getText(R.string.ticker_text), System.currentTimeMillis());
Intent notificationIntent = new Intent(this, ExampleActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this, getText(R.string.notification_title), getText(R.string.notification_message), pendingIntent);
startForeground(ONGOING_NOTIFICATION, notification);

要从前台删除服务,需要调用stopForeground()方法,这个方法需要一个布尔型参数,指示是否删除状态栏通知。这个方法不终止服务。但是,如果你终止了正在运行的前台服务,那么通知也会被删除。

注意:startForeground()和stopForeground()方法是在Android2.0(API Level 5)中引入的。为了在比较旧的平台版本中运行你的服务,你必须使用以前的setForeground()方法---关于如何提供向后的兼容性,请看startForeground()方法文档。

关于通知的更多信息,请看“创建状态栏通知(Creating Status Bar Notifications)”


Android Service---给用户发送通知

服务一旦运行,就能够使用广播通知(Toast Notifications)或状态栏通知(Status Bar Notifications)来通知用户。

广播通知是一个在当前窗口表面短暂显示的一个消息,而状态栏消息会在状态栏中提供一个带有消息的图标,用户能够选择这个图标来启动一个动作(如启动一个Activity)。

通常,状态栏通知是用来告知后台任务完成的最好的技术(如文件下载完成),并且用户能够采取相应的动作。当用户从扩展窗口选择这个通知时,这个通知能够启动一个Activity(如文件下载完成的窗口)。

关于更多的信息,请看“广播通知”或“状态栏通知”的开发者指南。

转自:http://blog.youkuaiyun.com/think_soft/article/details/7299438

Android Service白名单与后台运行白名单实现保活策略 在Android应用开发中,后台服务的持久运行是一个复杂而具有挑战性的任务。随着Android系统不断更新加强后台限制,一些应用程序在后台运行时会被系统自动杀死,这给用户的使用体验带来了一定的影响。为了解决这个问题,开发者们提出了一种名为“白名单保活”的技术,通过将应用程序或Service加入到系统的白名单中,使其在后台保持运行状态,从而提供更好的用户体验。本文将详细探讨Android Service白名单与后台运行白名单实现保活的策略。 阅读详情

相关推荐

Mendix 开发实践指南|Mendix平台概览

低代码开发是一种将编码从文本形式转变为视觉形式的应用开发方法。它提供了一个模型驱动的、拖放式的界面,而不是传统的编码环境,使得各种技能水平的开发者——包括专业开发人员、新手、主题专家、业务利益相关者和决策者——都能使用低代码工具来构建驱动价值的企业业务应用。低代码的核心在于提高开发的可访问性和效率,让更多人能够参与到应用开发中来​​。Mendix适用于多种应用场景,包括企业级应用、移动应用、物联网(IoT)应用和微服务架构等。

多年搬砖的经验分享... 4413

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

一、如何保活后台服务 在Android Services (后台服务)里面,我们了解了Android四大组件之一的Service,知道如何使用后台服务进行来完成一些特定的任务。但是后台服务在系统内存不足的时候,可能会被系统杀死。那么如何让后台服务尽量不被杀死呢?基本的解决思路主要有以下几种: 1. 提高Service的优先级: <!-- 为防止Service被系统回收,可以尝试通过提高服务的优先级解决,1000是最高优先级,数字越小,优先级越低 --> android:priori.

学习一定要有针对性的练习-实操! 2426

【Clickhouse从入门到精通】第60篇:ClickHouse生态总结与未来展望

ClickHouse系列收官总结 本文作为《ClickHouse从入门到精通》系列的第60篇收官之作,系统回顾了整个系列的知识体系。文章从基础概念到高级应用,全面梳理了ClickHouse的核心技术: 知识体系:完整回顾了60篇文章的知识图谱,包括列式存储原理、MergeTree引擎家族、分布式架构等核心内容 生态工具:详细盘点了ClickHouse的企业版工具、运维监控、数据集成和可视化方案 版本演进:分析了从21.x到24.x的主要版本特性升级 未来趋势:展望了向量化引擎、湖仓一体、AI集成等发展方向

xyghehehehe的专栏 441

Android service 启动篇之 startForegroundService

前言: 在官方文档Android 8.0 行为变更中有这样一段话: Android 8.0 有一项复杂功能;系统不允许后台应用创建后台服务。 因此,Android 8.0 引入了一种全新的方法,即Context.startForegroundService(),以在前台启动新服务。 在系统创建服务后,应用有五秒的时间来调用该服务的startForeground()方法以显示新服务的...

私房菜 7万+

量化回测框架三选一:Backtrader、Zipline、PyAlgoTrade,新手到底该跟谁学?

本文对比分析了三大量化回测框架Backtrader、Zipline和PyAlgoTrade,帮助新手选择最适合的入门工具。从安装配置、策略编写到文档查阅,详细解析各框架的特点和适用场景,为量化交易初学者提供实用指南。

weixin_28745309的博客 268

用KalmanNet搞定非线性状态估计:当卡尔曼滤波遇上神经网络

本文深入探讨了KalmanNet如何将神经网络与卡尔曼滤波结合,以解决非线性状态估计中的模型失配和噪声不确定性问题。通过保留经典滤波框架并用RNN学习卡尔曼增益,该方法在无人机导航、机器人定位等场景中实现了模型驱动与数据驱动的优势互补,提升了估计的鲁棒性和灵活性。

mango的博客 309

Android service 启动 startForegroundService

startForegroundService 在Android 8.0里 ,应用在后台的时候调用了Context.startService 此时会触发: java.lang.IllegalStateException: Not allowed to start service Intent 我们需要改成: Context.startForegroundService() 并且在Context.startForegroundService() 之后必须要调用Service.startForeground,

qq_42538455的博客 3429

我的GIT练习ONE

Git 是一个分布式版本控制及源代码管理工具;Git 可以为你的项目保存若干快照,以此来对整个项目进行版本管理每一次的练习,都是对自身知识的巩固,以及对自身知识的一个测试。

是个非常热爱生活、乐观、奋斗、努力的逗比青年 8869

Android启动前台服务(startForegroundService)

Android启动前台服务(startForegroundService)

唐诺 6017

[dprecated]第五章:TTM分析: 5.1 TTM设计目标和核心概念

TTM是Linux DRM框架下的通用显存管理模块,其复杂性源于需要满足多样化的显存管理需求。该文解析了TTM的核心结构体及其关系:ttm_device作为顶层管理者,包含多个ttm_resource_manager处理不同类型内存;ttm_buffer_object为核心对象,通过ttm_resource关联物理资源;其他组件如ttm_tt管理页表、ttm_pool优化分配效率。文章强调理解这些结构体关系是掌握TTM机制的基础,并建议国产芯片开发者参考这些功能需求。

图形/计算GPU的驱动与虚拟化技术分享园地 2125

RK3568平台(camera篇)点亮imx586摄像头

mipi摄像头硬件确认点:1.供电:5V,2.8V,1.2V,1.8V,reset脚(硬拉3.3,上电的时候从低到高),pwron脚外接3.3V。2,时钟:MCLKOUT是24兆时钟。3.4组差分mipi线。mipi的data线的波形为方波。

weixin_49303682的博客 7258

android 创建前台服务,Android实现Service在前台运行服务

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

weixin_33711871的博客 1391

C#联合Halcon机器视觉框架源码—升级版

相较于之前的NxtVision,本软件代码架构更加合理,且新增。对源码有需求的,订阅本专栏后,私信我领取。、原来的vb脚本改为。

Z's Palace 1415

android service 防杀_安卓保活插件(限制 防杀)含前台服务,后台运行,白名单,定时任务等...

更新记录1.1.0(2020-12-03)采用RxJava定时执行的事务1.0.9(2020-12-01)新增定时器回调,完美兼容安卓各个版本查看更多平台兼容性AndroidiOS适用版本区间:4.4 - 11.0×原生插件通用使用流程:购买插件,选择该插件绑定的项目。在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。根据插件...

weixin_35815766的博客 1330

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android 通过构建前台服务实现Service保活

在Android中,退出APP界面后通过startService()方法启动的服务很快就会随之停止,在一些需求中需要在退出APP界面的情况下保证Service一直在运行,其中一个方法就是将Service设置成前台服务。设置前台服务首先需要在配置文件中添加权限: <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> 自定义通知消息的布局: RemoteViews remoteVi...

m0_57487205的博客 3416

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

android service 空指针,插件中 Service onCreate中 startForeground 让服务 前台运行 Service 空指针异常...

java.lang.NullPointerException: class name is nullat android.content.ComponentName.(ComponentName.java:114)at android.app.Service.startForeground(Service.java:653)at com.sina.news.service.DexService2....

weixin_32248531的博客 457

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android创建前台运行的Service

http://blog.youkuaiyun.com/ameyume/article/details/9150755 Service如果要防止尽可能不被系统杀掉,需要设置为在前台运行。 由于设置前台运行service的方法在2.0之前和2.0之后有所变化。 所以需要根据不同的版本进行区分;或者完全使用反射机制来处理,这样只要有相应的方法就可以使用,否则使用其他版本的方法。

hjh200507609的专栏 1467

务必知道的Android service的完全详解

前言: service服务,能够使得应用程序即使在关闭的情况下仍然可以在后台继续执行。后台功能属于四大组件之一,其重要程度不言而喻,那让我们接下来来来好好学习一下。   通过本文你可以学到以下内容 service是什么 service的两种状态 Service在清单文件中的声明 Service启动服务实现方式及其详解 Service绑定服务的三种实现方式 关于启动服务与绑定服务间...

林一末的博客 4万+

Android 四大组件之一Service(服务)

Android 四大组件之一Service(服务)

fry3309的博客 1657

【Android】【应用保活】保证应用在后台继续运行

网上关于保证Service在后台持续运行的方法有很多,但有些其实作用并不大,仅适合原生系统 实际Service的运行,不完全是由代码控制的,很大程度上取决于操作系统的进程管理策略,和手机型号和性能息息相关 这里根据我的经验总结出的一些可行的方案,在中高端机型上,基本都能保证Service在后台运行 在系统设置-启动管理里面,允许应用后台运行,运行应用自启动 ...

天天向上 Up Up Up (*^▽^*) 3万+
上一篇: Java中具有同步机制和非同步机制的集合
下一篇: 细数JDK里的设计模式
HabbyGe
博客等级 码龄16年 46粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值