2013-08-01 93 views
1

我有一個爲果凍豆開發的應用程序,我在這裏使用鬧鐘管理器安排將來要執行的事件。只要應用程序在前臺或後臺運行,預定的事件就會按預期執行。但是,一旦我強制關閉taskmanager下的應用程序,我不再能夠接收來自警報管理器的廣播。廣播接收器在應用程序關閉時不會出現異常

正如我嘗試使用Intent.Flag_Include_Stopped_Packages的各種帖子和博客所建議的。但它沒用。在意圖中包含此標誌僅適用於sendBroadcast(intent)。但是,如果警報管理器使用待處理意圖,則不起作用。

我的代碼調度報警

Intent intent = new Intent("com.dummy.intent"); 
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); 
PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(),dummyId, intent,       PendingIntent.FLAG_CANCEL_CURRENT); 

AlarmManager alarm = (AlarmManager)getSystemService(ALARM_SERVICE); 
alarm.set(AlarmManager.RTC_WAKEUP, scheduledAlarm.getTimeInMillis(), pi); 

我mainfest

<receiver android:name="com.example.androidScheduling.alarmReceiver"       
      android:enabled="true" 
      android:exported="true" 
      android:process=":remote"> 

     <intent-filter> 
      <action android:name="com.dummy.intent"></action> 
     </intent-filter> 

</receiver> 

是否有人可以幫助我嗎? 我甚至嘗試過,包括android:process = ":remote"清單中的接收器。但即使這樣也沒有幫助。

回答

1

我認爲你沒有在清單和編程方式中正確拼寫intent的動作名稱。

In pro-grammatically

Intent intent = new Intent("com.dummy.intent"); 

Manifest file -

<intent-filter> 
    <action android:name="com.custom.intent"></action> 
</intent-filter> 

The action name to intent and declared in manifest must require same

希望這對您有所幫助

+0

其正確答案.. – karan421

+1

@ karan421:如果你覺得這是正確的答案,請給予好評的答案。這是很好的做法。 –

+0

@swapnil對不起。我在發佈到stackoverflow時發生了錯誤。我現在編輯它。 – user840621

相關問題