2012-06-23 160 views
3

我一直在試圖安裝使用AlarmManager和廣播接收器我的第一個報警的解釋在這裏:http://smartandroidians.blogspot.com.es/2010/04/alarmmanager-and-notification-in.htmlAlarmManager /廣播接收器不工作

我的設置:

的AndroidManifest.xml:

<receiver android:name="es.radiopodcastellano.player.SleepAlarm" /> 

我主要Activity onCreate(此代碼實際上駐留在一個子類上,但爲了簡化我把它放在那裏):

@Override 
    public void onCreate(Bundle savedInstanceState) { 
      // <Stripped code> 
    AlarmManager alarm = (AlarmManager) currentContext.getSystemService(Context.ALARM_SERVICE); 
    Intent intent = new Intent(this.getApplicationContext(), SleepAlarm.class); 
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 0, intent, PendingIntent.FLAG_ONE_SHOT); 
    alarm.set(AlarmManager.RTC_WAKEUP,(System.currentTimeMillis() + (5 * 1000)),pendingIntent); 
} 

SleepAlarm.java:從 「亞行外殼dumpsys報警」 顯示此

public class SleepAlarm extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 
    Log.d("RPod_SleepAlarm","Alarm!!"); 
} 

} 

輸出,這樣看來的意圖被稱爲:

es.radiopodcastellano.player 
221ms running, 32 wakeups 
44 alarms: flg=0x4 cmp=es.radiopodcastellano.player/.SleepAlarm 

然而,logcat的說明不了什麼了 「RPod_SleepAlarm」標籤。我可能做錯了什麼?

回答

2

我發現了這個問題。

清單中的接收者位於另一個窗口小部件的接收者內部,並且它必須是應用程序的子項。因此,如果您的行爲與我一樣,請檢查您是否已正確設置AndroidManifest.xml:

+1

您應該接受此答案:) –

+0

完美答案!我是多麼愚蠢!這是有史以來最蠢的事情,因爲我知道它是如何工作的!該死的! – sud007