Problem mit BroadcastReceiver und onReceive

  • Antworten:2
Daniel online
  • Forum-Beiträge: 282

18.05.2011, 22:05:59 via Website

Ich mal wieder :)

Ich will einen Wecker bauen.
Dazu benutze ich einen AlarmManager welcher einen PendingIntent verschicken soll sobald die Zeit um ist.
Doch leider funktioniert es nicht so ganz.
Hier mal der Code:

Hier wird der Alarm gesetzt:
1private void setAlarm(int id, int time_total)
2 {
3
4 AlarmManager alarmM = (AlarmManager)getSystemService(ALARM_SERVICE);
5 Intent alarmIntent = new Intent(this, kitchen_main.class);
6// IntentFilter filter = new IntentFilter(KITCHEN_ALARM);
7
8 PendingIntent pendingAlarmIntent = PendingIntent.getBroadcast(this, id, alarmIntent, FLAG_ONE_SHOT);
9 alarmM.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+time_total, pendingAlarmIntent);
10 Toast.makeText(this, "alarm is set", 1000).show();
11
12 }


Wenn ich jetzt einfach onRecieve in der kitchen_main Activity aufrufe kommt da nur leider garnix :/
1. (Wie) muss ich den Receiver registrieren? Hier wäre ein kleines Codebeispiel sehr nützlich da ich auch schon mit Google nicht soo weit gekommen bin.
2. Was genau sind Flags? (zb beim PendingIntent) und ist es richtig das ich dafür einfach eine leere String variable angelegt hab?(wollte eclipse so..)


Danke :)

Antworten
Martin Grulich
  • Forum-Beiträge: 56

18.05.2011, 22:55:07 via Website

Daniel B
Ich mal wieder :)

Ich will einen Wecker bauen.
Dazu benutze ich einen AlarmManager welcher einen PendingIntent verschicken soll sobald die Zeit um ist.
Doch leider funktioniert es nicht so ganz.

Wenn ich jetzt einfach onRecieve in der kitchen_main Activity aufrufe kommt da nur leider garnix :/
1. (Wie) muss ich den Receiver registrieren? Hier wäre ein kleines Codebeispiel sehr nützlich da ich auch schon mit Google nicht soo weit gekommen bin.
2. Was genau sind Flags? (zb beim PendingIntent) und ist es richtig das ich dafür einfach eine leere String variable angelegt hab?(wollte eclipse so..)

Danke :)

Ein Broadcast-Receiver ist im Manifest zu "registrieren", ungefähr so:
1<receiver android:name="kitchen_main">
2 <intent-filter>
3 <action android:name="android.intent.action.BOOT_COMPLETED" />
4 </intent-filter>
5</receiver
In diesem Beispiel würde der Broadcast-Receiver auf den Boot reagieren.

— geändert am 18.05.2011, 22:55:31

Antworten
Daniel online
  • Forum-Beiträge: 282

19.05.2011, 00:41:04 via Website

ah okay danke.
Wie mache ich das dann das er auf meinen Broadcast reagiert?
Benutzt man dazu einen Intent filter? Wenn ja wie macht man das genau hab im internet nur zwei schwammige ansätze gesehen.

Antworten