Android开机过程中什么时候发开机广播
发布网友
发布时间:2022-04-10 19:32
我来回答
共3个回答
热心网友
时间:2022-04-10 21:01
Android开机过程中发开机广播如下:
intent的发送点是在:
finishBooting函数(ActivityManagerService.java)
调用关系是:
startHomeActivityLocked()
-> ensureBootCompleted()
-> finishBooting()
-> mStackSupervisor.startHomeActivity(intent, aInfo)
所以系统发出这个intent的时候 ,home界面并没有起来,发出之后很短的时间 home就启动,在配置文件AndroidManifest.xml中向系统注册receiver,子节点 intent-filter 表示接收android.intent.action.BOOT_COMPLETED 消息
<receiver android:name="com.ray.ray.receiver.BootCompletedReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
热心网友
时间:2022-04-10 22:19
Android接收开机广播,需要用到播广播接收者BroadcastReceiver组件。
具体代码:
在配置文件AndroidManifest.xml中向系统注册receiver
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
需要添加相应权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
在Receiver中就可以添加开机需要进行的操作
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
热心网友
时间:2022-04-10 23:54
可以自由设定的