Android 使用前台服务

本文详细介绍了Android 8及以上版本下如何启动和停止前台服务,包括在manifest中注册服务,创建通知以及使用PendingIntent。强调了前台服务需在通知栏显示通知,否则可能导致ANR错误。同时,讲解了服务变为后台服务的处理方式,以及避免Bad notification问题的要点。
摘要由CSDN通过智能技术生成

启动前台服务

前台服务可以给用户提供界面上的操作。
每个前台服务都必须要在通知栏显示一个通知(notification)。用户可以感知到app的前台服务正在运行。
这个通知(notification)默认是不能移除的。服务停止后,通知会被系统移除。
当用户不需要直接操作app,app需要给用户一个状态显示的时候,可以用前台服务。

市面上的app,例如各类音乐app

music-1.png

本文针对Android 8(Oreo,SDK_INT 26)及以后的版本。

使用说明

本例会使用1个Activity和1个Service。演示如何启动前台服务,停止服务。

manifest

在manifest里注册ForegroundDemoActForegroundService1。并且申请权限FOREGROUND_SERVICE

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.rustfisher.tutorial2020">

    <!--  前台服务权限  -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

    <application ...  >

        <service android:name=".service.foreground.ForegroundService1" />

        <activity
            android:name=".service.foreground.ForegroundDemoAct"
            android:launchMode="singleTop" />

    </application>
</manifest>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值