AlarmManager triggert nicht jede Stunde

byron1778

Aktives Mitglied
Hallo Forum,
ich habe mit meiner App folgendes Problem.

Ich möchte jede Stunde zu einem bestimmten Zeitpunkt eine SMS verschicken.
Das Ganze habe ich so realisiert, dass ich einen AlarmManager mit setRepeating habe und einen BroadcastReceiver, worin dann die SMS verschickt wird.

Weiters habe ich den AlarmManager mit RTC_WAKEUP versehen und die onReceive-Methode mit einem PowerManager PARTIAL_WAKE_LOCK versehen.

Leider bekomme ich aber nicht das gewünschte Ergebnis.

Sobald ich mein Handy ausschalte ( nur einen Screen lock mache und den Screen abschalte, also schlafen lege ) wird keine SMS mehr verschickt.

Erst wenn ich das Handy wieder einschalte ( Screen einschalte und unlocke ) dann wird sofort die SMS verschickt.

Kann mir vll. jemand sagen, wie ich mein Problem lösen kann?

Ich bin für jede Hilfe dankbar!

lG
 

byron1778

Aktives Mitglied
Hallo,
danke Dir vielmals für deinen Link.

Ich habe in der Zwischenzeit auch etwas herausgefunden oder vll. herausgefunden.

Viele User berichten Probleme mit ihrem Deep Sleep Modus und dass ihr Telefon auch nicht aus diesem aufwachen würde.

Vll. liegt es daran, dass der PowerManager nicht wirklich funktioniert.

Ich kann zwar PowerManager.FULL_WAKE_LOCK Modus verwenden, aber ich glaube der wird nur bis zum API Level 16 oder so unterstützt, vll. funktioniert es damit.

Seltsam ist halt nur, dass die ganze App bei einem Kollegen anscheinend im Deep Sleep Modus funktioniert, aber er hat auch wiederum ein gerootetes Telefon.

Eventuell muss ich es noch mit anderen Herstellern und modifizierten Androiden versuchen um vll. zu einer eindeutigen Aussage zu kommen ...

Danke Dir trotzdem für Deine Hilfe!

lG
 

dzim

Top Contributor
Ich weiss nicht, ob es dir hilft, aber ich habe für unsere App, die auch ein WakeLock benötigt, in dem Service, der einen SpeedTest durchführt, folgendes implementiert:
Java:
	private PowerManager powerManager;
	private PowerManager.WakeLock wakeLock = null;
	
	private void initPowerManager() {
		if (powerManager == null) {
			powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
		}
		aquireWakeLock(true);
	}
	
	@SuppressWarnings("deprecation")
	@SuppressLint("Wakelock")
	private void aquireWakeLock(boolean register) {
		if (register) {
			if ((wakeLock != null) && wakeLock.isHeld()) {
				wakeLock.release();
			}
			wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, TestService.class.getSimpleName());
			wakeLock.acquire();
		} else {
			if ((wakeLock != null) && wakeLock.isHeld()) {
				wakeLock.release();
			}
		}
	}
	
	private void testScreenOnAndWakeup() {
		if (!powerManager.isScreenOn()) {
			aquireWakeLock(true);
		}
	}
	
	private void stopPowerManager() {
		aquireWakeLock(false);
	}

mit
Code:
#aquireWakeLock(boolean)
kann ich nun das Telefon "an" und "ab" schalten. Allerdings ist das Problem ja etwas anderes gelagert... Also ob es bei dir hilft... kA.

Wir mussten es machen, weil Android das Signal des Kernels über eine Änderung des Mobilen-Verbindungstypen im Sleep-Modus nicht weitersendet. Aus Stromspargründen. GPS geht natürlich trotzdem wunderbar, da ist Stromsparen auf einmal unwichtig. (Ich verstehe schon den Sinn, dass GPS auch mit ausgeschalteten Schirm weiter funktionieren soll - vielle Apps würden nicht funktionieren, wenn es anders wäre, aber es ärgert mich dennoch.)
 

byron1778

Aktives Mitglied
Hallo,
danke Dir vielmals für Dein Beispiel.

Interessant finde ich, dass alle Artikel, die ich bis jetzt zu meinem Problem gefunden habe mittels einem Service gelöst wurden oder teilweise gelöst werden konnten.

Ich muss zugeben, dass ich es mit einem Service bis jetzt nicht versucht habe, aber daran kann es glaube ich auch nicht liegen!

Zudem muss ich auch gewährleisten, dass der AlarmManager wirklich triggert und dann in der onReceive Methode eine SMS versendet.
Bei einem "normalen" Service kann es ja passieren, dass das Hostsystem bei Speichermangel das Service stoppt.
Wird zwar selten vorkommen, aber alles was schieflaufen kann, wird auch schief laufen :)

Eventuell werde ich es einmal auf ein Service umschreiben und schauen, ob sich am Verhalten etwas ändern wird!

Danke Dir vielmals!

lG
 

dzim

Top Contributor
Verstehe Service nicht notwendigerweise als etwas, das ewig laufen muss. In deinem Fall ist der AlarmManger der Trigger. Der Service macht dann nichts weiter, als die SMS abzusetzen. Eher wird in diesem Scenarion deine AlarmManager-Instanz nicht loslegen, als das der Service hier ein Problem darstellt. Denke einfach dran, das ein IntentService wirklich erst auf einem anderen Thread läuft. Ich glaube, gelesen zu haben, dass man ansonsten Arbeitslastige Jobs auch innerhalb von Services in weitere Threads auslagern sollte.
Wie gesagt: Das ist aber nicht dein Scenario. Du brauchst nur den Auslöser (AlarmManager) und etwas, das den SMS-Versand anstösst (Service).
 

byron1778

Aktives Mitglied
Hallo,
danke Dir für deinen Tipp.

Den Auslöser, sprich den AlarmManager habe ich, der ist auch so eingestellt, dass er sich alle 60 wiederholt ( es sind 2 laufende AlarmManager, aber zu unterschiedlichen Zeiten! ).
In der onReceive Methode des BroadcastReceivers habe ich den SMS Versand eingebaut.

Vll. werde ich den SMS Versand aus der onReceive Methode des BroadcastManagers ausbauen und in ein Service auslagern.
Das Service selber werde ich trotzdem in die onReceive Methode einbinden, damit der BroadcastReceiver auf den AlarmManager hört!

Aber ob das wirklich hilft, wenn das Telefon im "Deep Sleep" Modus ist?
Andere, die ebenso mein Programm verwenden, haben seltsamerweise kein Problem damit.

Trotzdem danke Dir vielmals, ich werde mal ein Versuch mit einem Service starten.
 

dzim

Top Contributor
Leider sind meine Erfahrungswerte mit dem AlarmManager eher gering. Wir mussten einmal eine App bauen, bei der eine Datensynchronisation alle 30 min (glaube ich) getriggert wurde. Aber da wurde nur ein spezielles Gerät (also ein Gerätetyp, ca. 50 Geräte wohl insgesamt) verwendet und auf dem lief es. Ich kann dir also mehr als ein paar halbgare Tipps nichts weiter sagen. Sorry.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W MoveEvent reagiert nicht Game Android & Cross-Platform Mobile Apps 1
W Reward Ads AdMob wird nicht ausgeliefert. Android & Cross-Platform Mobile Apps 9
W Cookie Manger übermittelt nicht Android & Cross-Platform Mobile Apps 1
J Spinner wird nicht aktualisiert Android & Cross-Platform Mobile Apps 6
M PythonInterpreter funktioniert nicht richtig NoClassDefFoundError Android & Cross-Platform Mobile Apps 1
I Android SharedPreferences wenn App auf externem Speicher klappt nicht Android & Cross-Platform Mobile Apps 0
W Frisch generiertes Projekt Value nicht findbar NavController Drawer Android & Cross-Platform Mobile Apps 12
ImageView wird nicht angezeigt Android & Cross-Platform Mobile Apps 4
W WebView Linkvertise lädt nicht richtig oder bleibt grau Android & Cross-Platform Mobile Apps 10
W AlertDialog Eigenschaften existiert nicht mehr. Android & Cross-Platform Mobile Apps 14
W Wieso gehen Log nicht im Service? Android & Cross-Platform Mobile Apps 20
R Android Do not disturb: Sound wird nicht abgespielt Android & Cross-Platform Mobile Apps 2
O Google Admob Ad wird nicht geladen und App stürzt ab Android & Cross-Platform Mobile Apps 1
I Android ListView (Custom) soll auf Hardwaretasten nicht reagieren. Android & Cross-Platform Mobile Apps 10
CT9288 Zufällige Zahlengenerierung scheint nicht richtig zu funktionieren Android & Cross-Platform Mobile Apps 5
M App crasht und ich bekomme es nicht behoben.:( Android & Cross-Platform Mobile Apps 17
M Paper DB wird in Android Studio nicht erkannt Android & Cross-Platform Mobile Apps 7
K Android Android In-App-Purchase lädt nicht Android & Cross-Platform Mobile Apps 0
Besset Android http request an interne ip adresse funktioniert nicht Android & Cross-Platform Mobile Apps 8
R Android Visualizer engine kann nicht initialisiert werden Android & Cross-Platform Mobile Apps 3
OSchriever Navigation drawer Strings ändern sich nicht Android & Cross-Platform Mobile Apps 0
W Code läuft unter SDK 27 aber nicht SDK 30 Android & Cross-Platform Mobile Apps 17
N Android Ich kann mit meiner App nicht auf die Datenbank zugreifen Android & Cross-Platform Mobile Apps 4
A GraphView => X- und Y-Achse wird nicht angezeigt Android & Cross-Platform Mobile Apps 5
ruutaiokwu Android Selbst entwickelter SMTP-Client läuft auf PC, nicht aber auf Android Android & Cross-Platform Mobile Apps 9
W Android Wieso geht getApplicationContext() bei Toast, aber nicht bei AlertDialog.Builder? Android & Cross-Platform Mobile Apps 36
A Android Studio: while-Schleife beginnt nicht Android & Cross-Platform Mobile Apps 5
A jpg wird im Android Studio nicht akzeptiert Android & Cross-Platform Mobile Apps 3
T Android SDK-Manager startet nicht in Eclipse Android & Cross-Platform Mobile Apps 5
J Download und speichern mit jsch klappt nicht Android & Cross-Platform Mobile Apps 5
J Service starte nicht mehr Android & Cross-Platform Mobile Apps 13
Arif Android Radiobutton wird nicht deaktiviert Android & Cross-Platform Mobile Apps 1
Arif Android Canvas wird nicht gezeichnet? Android & Cross-Platform Mobile Apps 0
J Notification wird nicht angezeigt wenn App nicht offen ist. Android & Cross-Platform Mobile Apps 6
J Firebase und Emulator startet nicht Android & Cross-Platform Mobile Apps 2
L ListView aktuallisiert sich nicht Android & Cross-Platform Mobile Apps 15
J ArrayAdapter zeigt Liste nicht an Android & Cross-Platform Mobile Apps 0
L Android Animationen werden nicht angezeigt Android & Cross-Platform Mobile Apps 0
Excess Android Service läuft nicht in Sandby weiter Android & Cross-Platform Mobile Apps 2
W Preview wird nicht korrekt angezeigt Android & Cross-Platform Mobile Apps 0
B Profilpic wird nach anmeldung nicht angezeigt. Android & Cross-Platform Mobile Apps 2
K Methode wird nicht gefunden Android & Cross-Platform Mobile Apps 1
J App funktioniert auf Android 5, auf 6 nicht Android & Cross-Platform Mobile Apps 2
K Log.v geht nicht Android & Cross-Platform Mobile Apps 4
J Kamera - Foto wird nicht gespeichert Android & Cross-Platform Mobile Apps 2
L Android Android Studio - Exportierte APK funktioniert nicht Android & Cross-Platform Mobile Apps 6
L Android Methode funktioniert nicht unter Android Android & Cross-Platform Mobile Apps 3
L Android Java scheint XML nicht zu finden Android & Cross-Platform Mobile Apps 11
J android Spinner funktioniert nicht Android & Cross-Platform Mobile Apps 14
B Android osmdroid möchte nicht das es mapnik herunterlädt Android & Cross-Platform Mobile Apps 2
apple_pie1998 SharedPreferences funktionieren nicht... Android & Cross-Platform Mobile Apps 17
S Android neue Version des Programms wird nicht in Emulator geladen Android & Cross-Platform Mobile Apps 1
B Android Textdatei laden (klappt nicht) Android & Cross-Platform Mobile Apps 4
O Android Switch Widget wird nicht angezeigt Android & Cross-Platform Mobile Apps 1
M Android ListView wird nicht dargestellt Android & Cross-Platform Mobile Apps 2
S Android null pointer (ich verstehs nicht) Android & Cross-Platform Mobile Apps 2
S Android Emulator startet nicht vollständig. Android & Cross-Platform Mobile Apps 0
S Neue Activity lässt sich nicht starten Android & Cross-Platform Mobile Apps 28
M Notification nicht mehr senden nachdem sie geklickt wurde Android & Cross-Platform Mobile Apps 0
D Android Tabs nutzen - PagerTitleStrip haut nicht hin Android & Cross-Platform Mobile Apps 4
K MediaPlayer Soundklasse Start und Stop (stop funktioniert nicht) Android & Cross-Platform Mobile Apps 1
O Android Anfänger: Quellcode nicht gefunden Android & Cross-Platform Mobile Apps 3
B Timer geht nicht Android & Cross-Platform Mobile Apps 2
S Umlaute werden trotz UTF-8 nicht angezeigt? Android & Cross-Platform Mobile Apps 6
S SPLIT funktion bei STRING funktioniert nicht! Android & Cross-Platform Mobile Apps 4
J Android Breaking Point in Eclipse hält nicht an? Android & Cross-Platform Mobile Apps 5
J Android SimpleDateFormat parser funktioniert nicht richtig? Android & Cross-Platform Mobile Apps 4
L Android Apache POI: Datei speichern geht nicht Android & Cross-Platform Mobile Apps 1
Y Erstes kleines Android Programm will nicht so recht... Android & Cross-Platform Mobile Apps 1
S Foto-app hält galerie nicht aktuell Android & Cross-Platform Mobile Apps 9
D Man sieht nicht ob Button gedrückt wurde! Android & Cross-Platform Mobile Apps 10
L Android Multitouch will einfach nicht, was mach ich falsch? Android & Cross-Platform Mobile Apps 1
B Erste Android-App: setContentView(R.layout.main) funktioniert nicht Android & Cross-Platform Mobile Apps 6
N Android EditText.setError() funktioniert nicht nach Rotation Android & Cross-Platform Mobile Apps 1
K OnItemLongClickListener in ListActivity spricht nicht an Android & Cross-Platform Mobile Apps 8
N Android Display nicht löschen bzw. neu laden Android & Cross-Platform Mobile Apps 2
J Handy bootet nicht mehr richtig Android & Cross-Platform Mobile Apps 2
D Android OnClickListener funktioniert auf LinearLayout nicht Android & Cross-Platform Mobile Apps 6
X Android Warum werden Views nicht gefunden? Android & Cross-Platform Mobile Apps 4
D Android App startet nicht Android & Cross-Platform Mobile Apps 24
F Android ArrayList nicht funktional in Android!? Android & Cross-Platform Mobile Apps 6
E Datenbankanfrage findet Tabel nicht Android & Cross-Platform Mobile Apps 3
S Android LogCat Ausgaben in Schleife geht nicht? Android & Cross-Platform Mobile Apps 2
schlingel Android Warum man Apps beenden sollte bzw. es nicht tun sollte Android & Cross-Platform Mobile Apps 4
S Auflösungsanpassung funktioniert nicht Android & Cross-Platform Mobile Apps 2
P trotz invalidate() wird onDraw() nicht aufgerufen Android & Cross-Platform Mobile Apps 15
A Werde aus Fehlermeldung nicht schlau.... :-( Android & Cross-Platform Mobile Apps 2
W Eclipse update - Systemprozess reagiert nicht mehr Android & Cross-Platform Mobile Apps 4
B TableLayout verhält sich nicht wie eine Tabelle Android & Cross-Platform Mobile Apps 3
E LayoutInflater funktioniert nicht Android & Cross-Platform Mobile Apps 2
J Sensor Orientierung -> GLRotation stimmt nicht Android & Cross-Platform Mobile Apps 12
K Android Temperaturconverter, R.id.element wird nicht gefunden Android & Cross-Platform Mobile Apps 20
K Android Alarm Manager (Wakelock? ) geht nicht Android & Cross-Platform Mobile Apps 4
U Seit heute morgen läuft meine OpenGL app nicht mehr Android & Cross-Platform Mobile Apps 2
A onDraw wird nicht aufgerufen Android & Cross-Platform Mobile Apps 14
A Kann nicht in TextView einer anderen Klasse schreiben - wieso? Android & Cross-Platform Mobile Apps 9
A Android setVisibility reagiert nicht Android & Cross-Platform Mobile Apps 2
A Android Dialog wird nicht sofort angezeigt Android & Cross-Platform Mobile Apps 12
N Android Hilfe string to float geht nicht... Android & Cross-Platform Mobile Apps 4
W ImageView wird nicht angezeigt Android & Cross-Platform Mobile Apps 19

Ähnliche Java Themen

Neue Themen


Oben