Service管理通知栏通知模板

代码:

Manifest:

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /><application...<!--notice--><activity android:name=".notice.NoticeActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name=".notice.NoticeOtherActivity" /><serviceandroid:name=".notice.NoticeService"android:enabled="true" /></application>

Kotlin:
NoticeActivity:

class NoticeActivity: AppCompatActivity() {private lateinit var noticeBinding: ActivityNoticeBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)noticeBinding= ActivityNoticeBinding.inflate(layoutInflater)setContentView(noticeBinding.root)noticeBinding.messageSend.setOnClickListener {val intent=Intent(this,NoticeService::class.java)startService(intent)}}}

NoticeOtherActivity:

class NoticeOtherActivity: AppCompatActivity() {private lateinit var noticeOtherBinding: ActivityNoticeOtherBindingoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)noticeOtherBinding=ActivityNoticeOtherBinding.inflate(layoutInflater)setContentView(noticeOtherBinding.root)noticeOtherBinding.noticeOtherCloseService.setOnClickListener {val intent=Intent(this,NoticeService::class.java)stopService(intent)}}
}

NoticeService:

class NoticeService : Service() {private val mBinder = MyBinder()class MyBinder : Binder() {}override fun onBind(intent: Intent?): IBinder? {return mBinder}override fun onCreate() {super.onCreate()val manager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManagerif (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {val channel = NotificationChannel("my_service","前台Service通知",NotificationManager.IMPORTANCE_DEFAULT)manager.createNotificationChannel(channel)}val intent = Intent(this, NoticeOtherActivity::class.java)val pi = PendingIntent.getActivity(this, 0, intent, 0)val notification = NotificationCompat.Builder(this, "my_service").setContentTitle("This is title").setContentText("This is content text").setSmallIcon(R.drawable.ic_launcher_background).setLargeIcon(BitmapFactory.decodeResource(resources,R.drawable.ic_launcher_background)).setContentIntent(pi).build()startForeground(1, notification)}override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {return super.onStartCommand(intent, flags, startId)}override fun onDestroy() {super.onDestroy()}
}

效果:




【Android】Service管理通知栏通知模板相关推荐

  1. Android开发-Notification通知栏通知最基础运用

    从 Android 8.0(API 级别 26)开始,所有通知都必须分配到相应的渠道.对于每个渠道,您可以设置应用于其中的所有通知的视觉和听觉行为.然后,用户可以更改这些设置,并确定您应用中的哪些通知 ...

  2. android service常驻通知栏,android实现常驻通知栏遇到的问题及解决办法

    实现常驻通知栏时遇到的问题: 无论如何就是不显示通知,查看日志发现貌似报错了: 2020-06-28 14:11:34.923 6387-6387/xxx E/CrashReport: android ...

  3. Android 8.0+通知栏(Notification)适配详解,判断通知权限是否打开,并跳转至通知管理页面

    前不久因为API26(Android 8.0)以上的设备无法显示通知栏,所以网上查阅了比较多了资料,得出结论,API26以后引入了通知渠道这么个东西,然后就写了一篇问题对应的博文:Android 8. ...

  4. android创建标题栏,【Android】利用服务Service创建标题栏通知

    创建标题栏通知的核心代码 public void CreateInform() { //定义一个PendingIntent,当用户点击通知时,跳转到某个Activity(也可以发送广播等) Inten ...

  5. Android 10.0下拉通知栏 通知列表 添加通知头

    1.概述 在10.0定制化产品开发中,需求要求对SystemUI通知栏ui进行定制,在状态栏展开布局中的通知栏增加通知头文字 2.下拉通知栏 通知列表 添加通知头的核心类 /frameworks/ba ...

  6. Android内存管理

    Android是一个基于Linux实现的操作系统.但对于Linux内核来说,Android也仅仅只是一个运行在内核之上的应用程序,与其他运行在内核之上的应用程序没有任何区别.所以Android需要一套 ...

  7. Delphi 监听安卓(Android)手机通知栏信息

    Delphi 监听安卓(Android)手机通知栏信息 因为一些业务需要,我们有时候需要知道手机通知栏显示的信息,然后根据这些信息去处理一些相应的业务逻辑.如:自动监听收到的短信验证码,提取后自动填写 ...

  8. Android音频管理总结(个人笔记)

    Android音频管理 Android音频概述 media player接口 Android系统的播放器NuPlayer media extractor(高通的有自己的解封装模块mmparser) A ...

  9. android 浏览器源码分析,从源码出发深入理解 Android Service

    原标题:从源码出发深入理解 Android Service 原文链接: 建议在浏览器上打开,删除了大量代码细节,:) 本文是 Android 系统学习系列文章中的第三章节的内容,介绍了 Android ...

  10. android 8.0的imei简书,Android 8.0通知栏渠道,渠道组的适配和使用

    Android 8.0通知栏渠道,渠道组的适配和使用 推广一下 博客 android 8.0开始引入了渠道组的概念,app可以对通知类型进行细分,比如划分为:广告消息,私聊消息,群聊消息等. 但其实到 ...

最新文章

  1. php运行出来一堆乱码,一堆乱码中找到的~_php
  2. 苹果芯片工程师又被挖!这次是微软,要自研Azure服务器芯片
  3. QPixmap: It is not safe to use pixmaps outside the GUI thread原因
  4. virtualbox ubuntu安装图解
  5. ASP.NET 2.0 之 Master Page 学习笔记 --zt
  6. mysql逆向工程_Mybatis+Mysql逆向工程
  7. Kubernetes中Secret使用详解
  8. 如何开机进测试内存软件,小U讲解内存检测工具memtest详细使用教程
  9. python矩阵连乘_第3章 动态规划——矩阵连乘最优计算方式查找
  10. idea pull从远程库拉取最新代码
  11. python apply函数_Python中apply函数的用法实例教程
  12. java 1 20内奇数的乘积_计算所有奇数的乘积
  13. 做人的十三条黄金玉律
  14. 【掘金 - 自动签到功能的实现】 - 让我们使用【ios/iphone 快捷指令自动化】实现一个社区每天自动签到小脚本
  15. LINEST函数根据上半年产品销售量预算指定月份的销售量
  16. 图论学习--5匹配与因子分解(思维导图)
  17. android 仿钢笔代码,仿ps画布钢笔抠图工具代码
  18. 考计算机专业要理科好吗,大学想念计算机系是不是该高中读理科?
  19. 2. 认识O(logN)的排序
  20. 【GUI界面】基于Python的WSG84三点定位系统(经纬度坐标与平面坐标转换法求解)

热门文章

  1. Apache Flink如何处理背压
  2. Java之网络编程(一)
  3. Java基础篇--IO
  4. 腾讯云阿里云vps nc: getnameinfo: Temporary failure in name resolution
  5. golang 实现微信授权
  6. /proc/self/目录的意义
  7. linux 清除swap 数据,linux清除swap
  8. 关于PostgreSQL的绑定变量窥视的问题详解
  9. 【python】详解pandas库的pd.merge_ordered与pd.merge_asof
  10. mysql触发器更新自己表_mysql 触发器更新自己表|单表操作 阿星小栈