Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 广播接收机生命周期_Android_Broadcastreceiver - Fatal编程技术网

Android 广播接收机生命周期

Android 广播接收机生命周期,android,broadcastreceiver,Android,Broadcastreceiver,BroadcastReceiver在清单文件中注册。当应用程序未运行且接收到广播时会发生什么情况 Android是否创建了一个新的进程来处理该广播 是否仅创建扩展BroadcastReceiver的类 整个过程是如何进行的 Android是否创建了一个新的进程来处理该广播 是的,如果应用程序没有运行,而您注册的事件发生了,Android操作系统会通过创建一个新进程来处理这种情况。如果您在代码中注册它,它将与您注册它的活动/服务的生命周期相关联 是否仅创建扩展BroadcastReceiver的类

BroadcastReceiver在清单文件中注册。当应用程序未运行且接收到广播时会发生什么情况


Android是否创建了一个新的进程来处理该广播

是否仅创建扩展BroadcastReceiver的类

整个过程是如何进行的


Android是否创建了一个新的进程来处理该广播

是的,如果应用程序没有运行,而您注册的事件发生了,Android操作系统会通过创建一个新进程来处理这种情况。如果您在代码中注册它,它将与您注册它的活动/服务的生命周期相关联

是否仅创建扩展BroadcastReceiver的类

还应该创建应用程序单例和任何ContentProvider实现


谢谢您,Commonware为您提供的帮助。

“Android是否创建了处理该广播的新流程?”--是的。“是否只创建了扩展BroadcastReceiver的类?”--还应该创建
应用程序
单例,以及您拥有的任何
ContentProvider
实现。因此,我认为在receiver类中使用静态变量不是一个好主意。当我们对广播接收器使用报警时会发生什么?当接收器收到警报且应用程序进程未运行时,是否会发生完全相同的过程?(假设应用程序不是由用户自己通过强制停止而杀死的,而是由操作系统杀死的)。是的。通过
pendingent
触发广播的
AlarmManager
警报与触发广播的任何其他警报在进程需求方面没有什么不同。在receiver类中使用静态变量又如何