第一行代码总结:9.3服务的基本用法——服务的更多技巧(使用前台服务)
2015-11-25 08:26
323 查看
9.5.1使用前台服务
前台服务:和普通服务的最大区别在于,它会一直有一个正在运行的图标在系统的状态栏显示,下拉状态栏后可以看到更加详细的信息,非常类似于通知的效果。
如果你希望服务可以一直保持运行状态,而不会由于系统内存不足的原因导致被回收,可以考虑使用前台服务。
使用步骤:
1、在服务的onCreate()方法中构建出一个通知对象notification,然后对这个通知对象进行设置,调用其setLatestEventInfo()方法;
2、调用Context的startForeground()方法,就会让MyService变成一个前台服务,并在系统状态栏显示出来。
该方法接收两个参数:
第一个参数:是通知的id,类似于notify()方法的第一个参数;
第二个参数:是构建出的Notification对象。
代码示例:
Notificationnotification = new Notification(R.drawable.ic_launcher,"Notification comes",System.currentTimeMillis());
Intent notificationIntent = new Intent(this,MainActivity.class);
PendingIntent pendingIntent =PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this,
"This is title", "This is content", pendingIntent);
startForeground(1, notification);
前台服务:和普通服务的最大区别在于,它会一直有一个正在运行的图标在系统的状态栏显示,下拉状态栏后可以看到更加详细的信息,非常类似于通知的效果。
如果你希望服务可以一直保持运行状态,而不会由于系统内存不足的原因导致被回收,可以考虑使用前台服务。
使用步骤:
1、在服务的onCreate()方法中构建出一个通知对象notification,然后对这个通知对象进行设置,调用其setLatestEventInfo()方法;
2、调用Context的startForeground()方法,就会让MyService变成一个前台服务,并在系统状态栏显示出来。
该方法接收两个参数:
第一个参数:是通知的id,类似于notify()方法的第一个参数;
第二个参数:是构建出的Notification对象。
代码示例:
Notificationnotification = new Notification(R.drawable.ic_launcher,"Notification comes",System.currentTimeMillis());
Intent notificationIntent = new Intent(this,MainActivity.class);
PendingIntent pendingIntent =PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this,
"This is title", "This is content", pendingIntent);
startForeground(1, notification);
相关文章推荐
- Qt :非window子窗体的透明度设置
- 第一行代码总结:9.3服务的基本用法——活动和服务进行通信
- 第一行代码总结:9.3服务的基本用法——启动和停止服务
- Eclipse寻找JVM的机制
- QT:给Widget设置背景图片——设置Widget的调色板,调色板使用图片和背景色
- 上谷歌google的简单方法
- 第一行代码总结:9.3服务的基本用法——定义一个服务
- QT进度条
- C#里的时间戳
- 重新理解:ASP.NET 异步编程(转)
- Eclipse指定JDK版本 Failed to load the JNI shared JVM.dll
- 站在巨人的肩膀上,C++开源库大全
- C++开发必看 四种强制类型转换的总结
- 可以供MFC调用的,QT实现的DLL(qtwinmigrate实现)
- C++复合结构总结
- QT:轻松获取网页源码
- QT:程序忙碌时的进度条——开启时间循环,等结束的时候再退出
- windows下开发PHP扩展(无需Cygwin)
- Matlab和C程序的备忘2
- 学习Python (五)