发布网友 发布时间:2022-04-24 01:44
共1个回答
热心网友 时间:2023-09-16 00:45
Android中也可很方便的实现类似windows中的开机启动。
方法很简单,就是注册一个BroadcastReceiver 去接收 actoin 为 android.intent.action.BOOT_COMPLETED 的消息,然后即可启动Activity了。
首先在menifest 文件中添加权限声明,因为接收BOOT_COMPLETED消息需要RECEIVE_BOOT_COMPLETED 权限
Xml代码
1.<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
通过在menifest xml文件中配置的方式注册一个Receiver
Xml代码
1.<receiver
2. android:name=".BootUpReceiver"
3. android:enabled="true"
4. android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
5. <intent-filter>
6. <action android:name="android.intent.action.BOOT_COMPLETED" />
7.
8. <category android:name="android.intent.category.DEFAULT" />
9. </intent-filter>
10. </receiver>
<receiver
android:name=".BootUpReceiver"
android:enabled="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
在Receiver的onReceive方法中启动Activity
Java代码
1.public class BootUpReceiver extends BroadcastReceiver {
2.
3. @Override
4. public void onReceive(Context context, Intent intent) {
5. Intent i = new Intent(context, MyActivity.class);
6. i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
7. context.startActivity(i);
8. }
9.}