(写此博客,只是为了记录自己学习Android的学习进程,自娱自乐,内容大都出自 Android第一行代码)
后台服务的系统优先级较低,当系统出现内存不足的情况时,有可能被回收。如果你希望服务可以一直保持运行状态,而不会由于系统内存不足原因导致被回收,就可以考虑使用前台服务。
前台服务会一直有一个正在运行的图标显示在通知栏,就像一些天气应用,在后台更新天气数据,而在通知栏中进行实时更新显示。对于类似的需求,通过使用前台服务就可以实现。
创建一个简单的前台服务的示例:
public class MyService extends Service {
@public void onCreate() {
super.onCreate();
//创建一个通知显示在通知栏
Notification n = new Notification(R.drawable.图片id , "通知弹出时显示的提示消息" , 通知创建的时间 );
Intent intent = new Intent(Context上下文 , Class点击后响应的类);
//实例化一个PendingIntent,用于响应点击通知
PendingIntent pi = PendIntent.getActivity(Context , int , Intent , int );
//设置通知显示布局
n.setLatestEventInfo(Context , 通知标题 , 通知内容 , PendingIntent );
startForeground(int id , Notification );
}
}
然后在AndroidManifest中对此Service进行注册
启动
Intent intent = new Intent(Context , MyService.class);
startService(intent);