实现 Android 应用在开机时自启动

[代码] BootReceiver.java

01 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, 0, new 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来监听系统启动事件

1 <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>
原文地址:https://www.cnblogs.com/moonvan/p/2021014.html