在开发过程中,有些应用需要随着系统启动而启动,那么如何实现应用程序开机启动呢?在android 开机完毕后,会发送开机完成广播,因此只要编写广播接收器接收该广播,并启动应用程序即可。这种方式下只能使用广播接收器静态注册方式,因为应用程序的启动是由广播接收器启动。
<!-- 开机启动完成广播接收器 -->
<receiver android:name="com.spreadtrum.BroadcastReceiver.BootReceiver" android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
public class BootReceiver extends BroadcastReceiver {
private static final String TAG = "BootReceiver";
@Override
public void onReceive(Context context, Intent intent) {
this.context = context;
// TODO Auto-generated method stub
if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())){
//启动应用程序
context.startActivity(new Intent(context, MainActivity.class));
}
}
}
Android关机广播
<receiver android:name=".ShutdownReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_SHUTDOWN"/>
</intent-filter>
</receiver>