Notify Activity Class

  • Antworten:7
  • Bentwortet
JulK
  • Forum-Beiträge: 52

26.03.2013, 12:26:03 via Website

Guten Morgen liebes Forum,

ich bräuchte bitte einen Tipp von euch, denn ich steh im Moment voll an.


Also ich habe folgenden Ablauf. In meiner MainActivty wird ein AsyncTask aufgerufen der sich alle 15 Minuten neu startet. In Diesem Task erfolgt eine Überprüfung ob ein Wert > 200 ist. Wenn dieser Wert größer ist, will ich eine Activity starten.

Wie kann ich also ein Notify an meine MainActivty senden, damit ich eine neue Oberfläche starten kann?

Ich hoffe auf eine schnelle Hilfe und danke schon mal im voraus.

Lg und schönen Tag
Julian

— geändert am 26.03.2013, 12:26:33

Antworten
impjor
  • Forum-Beiträge: 1.793

26.03.2013, 19:18:36 via App

Warum nicht

startActivity(new Intent(...));

PS: eventuell solltest du lieber einen Service verwenden.

Gruß

— geändert am 26.03.2013, 19:19:18

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Appsoluts
  • Forum-Beiträge: 304

27.03.2013, 00:56:24 via Website

Genau dafür gibt es Alarmmanager ... bloß keine AsyncTasks dafür verwenden... enormer Akkuverbrauch und die App muss immer laufen, was machst du wenn Android die App wegen Ressourcen mangel killt ?

Du registrierst auf das Intent, welches du dem AlarmManager übergibst einen Handler.
Dann kannst du zwischen der "ScheduledActivity" und deiner MainActivity Objekte ( Strings, Ints... what ever ) hin und her schicken ..

http://developer.android.com/reference/android/app/AlarmManager.html

JulK

Antworten
JulK
  • Forum-Beiträge: 52

27.03.2013, 09:24:20 via Website

Danke schon mal für die Antworten:)

Also startActivity(new Intent(..)); kann ja nur in Activity Klassen ausgeführt werden. Bekomme ansonst immer eine Fehlermeldung, dass die methode erst definiert werden muss.

Um den AsyncTask komme ich leider nicht herum, da ich mich mit einem FTP Server verbinden muss und eine *.txt Datei auslesen muss.

Ich werde mir den AlarmManger mal ansehen, klingt schon mal gut.

Lg Julian

Antworten
B S.
  • Forum-Beiträge: 16

27.03.2013, 10:16:13 via Website

Julian K
Danke schon mal für die Antworten:)

Also startActivity(new Intent(..)); kann ja nur in Activity Klassen ausgeführt werden. Bekomme ansonst immer eine Fehlermeldung, dass die methode erst definiert werden muss.

Um den AsyncTask komme ich leider nicht herum, da ich mich mit einem FTP Server verbinden muss und eine *.txt Datei auslesen muss.

Ich werde mir den AlarmManger mal ansehen, klingt schon mal gut.

Lg Julian

getApplicationContent (oder this) an die AsyncTask übergeben und dann startActivity.

Gruß

JulK

Antworten
JulK
  • Forum-Beiträge: 52

28.03.2013, 17:55:35 via Website

Es kommt die Fehlermeldung

103-28 17:48:07.403: E/AndroidRuntime(25643): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

Antworten
impjor
  • Forum-Beiträge: 1.793

28.03.2013, 20:08:23 via App

>> Ich komme um einen AsyncTask nicht rum...<< Klar kommst du darum, mach einen Service.
Zur Fehlermeldung: Du erzeugst irgendwo einen Handler, poste mal deinen Code.
Gruß

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

JulK

Antworten
JulK
  • Forum-Beiträge: 52

31.03.2013, 17:09:51 via Website

Hey Leute, vielen Dank für die zahlreichen ANtworten.
Hab jetzt endlich das Prinzip mit dem COntext durchschaut und jetzt funktioniert alles so wie es soll!

Lg Jul

Antworten