免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1168 | 回复: 0
打印 上一主题 下一主题

Android如何实现开机自启动服务 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:51 |只看该作者 |倒序浏览

Android实现开机自启动可能是移动操作系统中最简单的了,我们只需要监听一个开机启动的Broadcast(广播)即可。首先写一个Receiver(即广播监听器),继承BroadcastReceiver,如下所示:
public class BootReceiver extends BroadcastReceiver {   

02 
private PendingIntent mAlarmSender;   

03     @Override   

04 
public void onReceive(Context context, Intent intent) {   

05 
// 在这里干你想干的事(启动一个Service,Activity等),本例是启动一个定时调度程序,每30分钟启动一个Service去更新数据   

06         mAlarmSender = PendingIntent.getService(context, 0new Intent(context,   

07                 RefreshDataService.class), 0);   

08 
long firstTime = SystemClock.elapsedRealtime();   

09         AlarmManager am = (AlarmManager) context   

10                 .getSystemService(Activity.ALARM_SERVICE);   

11         am.cancel(mAlarmSender);   

12         am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime,   

13 
30 
* 
60 
* 
1000, mAlarmSender);   

14     }   

15 } 



  接下来,我们只需要在应用程序配置文件AndroidManifest.xml中注册这个Receiver来监听系统启动事件即可,如下所示:
<receiver android:name=".service.BootReceiver"> 
2 
<intent-filter> 
3 
<!-- 系统启动完成后会调用--> 
4 
<action android:name="android.intent.action.BOOT_COMPLETED"> 
5 
</action> 
6 
</intent-filter> 
7 
</receiver>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP