Android 从WakefulService启动IntentService
我有一个广播接收器表单,我正在使用Android 从WakefulService启动IntentService,android,android-service,android-wake-lock,android-intentservice,android-broadcastreceiver,Android,Android Service,Android Wake Lock,Android Intentservice,Android Broadcastreceiver,我有一个广播接收器表单,我正在使用startWakefulSerivce(context,I)启动意向服务(比如s1) 从服务s1开始,我使用startService(I)启动另一个IntentService(比如s2)。在s1中,我使用 GCMBroadcastReceiver.completeWakefulIntent(intent); 现在,第二个IntentService s2 stll将保持唤醒锁,即,如果设备睡眠,它将在后台运行。 如果没有,我如何像第一个一样清醒地启动第二个意图
startWakefulSerivce(context,I)
启动意向服务(比如s1)
从服务s1开始,我使用startService(I)
启动另一个IntentService(比如s2)。在s1中,我使用
GCMBroadcastReceiver.completeWakefulIntent(intent);
现在,第二个IntentService s2 stll将保持唤醒锁,即,如果设备睡眠,它将在后台运行。
如果没有,我如何像第一个一样清醒地启动第二个意图服务s2
现在,第二个IntentService s2 stll是否将保持唤醒锁
没有
如果没有,我如何像第一个一样清醒地启动第二个意图服务s2
依我看,最好的答案是不要有第二个IntentService
,因为不清楚为什么要将工作分成两个IntentService
实现
假设您有拆分的原因,您的主要选择是:
BroadcastReceiver
启动无关(尽管这肯定是一种常见的使用模式)WakeLock
WakefulBroadcastReceiver
(因此您可以调用sendBroadcast()
)。换句话说,对待第二个IntentService
和第一个一样。不过,这会对安全性和效率产生影响IntentService
,因为不清楚为什么要将工作分成两个IntentService
实现
假设您有拆分的原因,您的主要选择是:
BroadcastReceiver
启动无关(尽管这肯定是一种常见的使用模式)WakeLock
WakefulBroadcastReceiver
(因此您可以调用sendBroadcast()
)。换句话说,对待第二个IntentService
和第一个一样。不过,这会对安全性和效率产生影响关于如何从第一个服务向另一个广播接收器发送广播消息,请给出第三个选项的示例?另外,我在哪里定义新的广播接收器。如果您能给出一个代码,那将非常有帮助example@Isj:“如何发送广播消息”--调用
sendBroadcast()
。“我在哪里定义新的广播接收器”--大概是在您定义现有接收器的地方。您能否给出第三个选项的示例,说明如何将广播消息从第一个服务发送到另一个广播接收器?另外,我在哪里定义新的广播接收器。如果您能给出一个代码,那将非常有帮助example@Isj:“如何发送广播消息”--调用sendBroadcast()
。“我在哪里定义新的广播接收器”——大概是在您定义现有接收器的地方。