Chinaunix首页 | 论坛 | 博客
  • 博客访问: 353371
  • 博文数量: 90
  • 博客积分: 2017
  • 博客等级: 大尉
  • 技术积分: 615
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-19 08:10
文章分类

全部博文(90)

文章存档

2012年(4)

2011年(74)

2010年(11)

2009年(1)

分类: 嵌入式

2011-08-01 11:24:44


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>
阅读(2431) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~