Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.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
Java 广播接收机的部分锁定?_Java_Android - Fatal编程技术网

Java 广播接收机的部分锁定?

Java 广播接收机的部分锁定?,java,android,Java,Android,我有一个活动,启动一个IntentService来完成一些工作。当工作完成时,INTERNTSERVICE将广播并宣布成功 广播接收器位于启动IntentService的同一活动中 这种情况的假象 Activity A { private BroadcastReceiver receiver = new BroadcastReceiver() { @override public void onReceive(Context con

我有一个活动,启动一个IntentService来完成一些工作。当工作完成时,INTERNTSERVICE将广播并宣布成功

广播接收器位于启动IntentService的同一活动中

这种情况的假象

    Activity A
{

    private BroadcastReceiver receiver = new BroadcastReceiver() 
    {
        @override
          public void onReceive(Context context, Intent intent)
          {
           //handle
          }
    } 

    protected void onCreate(Bundle savedInstanceState) 
    {
        //initiate IntentService
    }
}
IntentService
{
    //Launch spaceshuttle . and broadcast success
}
现在发生的事情是,有时发射航天飞机需要一些时间,而手机会进入睡眠状态。因此,据我所知,广播接收机可能需要获得部分锁定

但我一直在回避这样做的确切技巧


请帮忙

最简单的解决方案是:

  • 使用,或

  • 从Android支持包中使用


两者都将为您管理
WakeLock
。我的
WakefulIntentService
可能更适合您所展示的代码,但两者都应该有效。

谢谢您的建议。然而,在查看WakefulBroadcastReceiver后,我发现它不适合我的情况。因为WakefulBroadcastReceiver只有在我使用startWakefulService从内部启动IntentService时才能工作。在我的例子中,我的活动触发IntentService。至于WakeFulIntentService,我现在就调查一下