2013-09-22 35 views
0

我有一個活動,啓動一個IntentService來完成一些工作。工作完成後,IntentService廣播會宣告成功。BroadcastReceiver的部分鎖定?

廣播接收器在啓動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 
} 

的僞現在發生的事情是,有時在啓動航天飛機需要一些時間,而手機進入睡眠狀態。因此,據我所知,我認爲廣播接收機需要獲得部分鎖定。

但確切的技術這樣做一直在逃避我。

請幫忙。

回答

0

最簡單的解決方案,無論是對你:

雙方將管理WakeLock你。我的WakefulIntentService可能更適合代碼,因爲您已經展示過它,但兩者都應該可以工作。

+0

感謝您的建議。然而,在審查了WakefulBroadcastReceiver後,我發現它不適合我的情況。因爲WakefulBroadcastReceiver只有在我使用startWakefulService從其中啓動一個IntentService時才起作用。就我而言,我的活動激發了IntentService。至於WakeFulIntentService,我現在會研究它 –