1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

prozess im Ruhezustand?!

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von assenda, 14.04.2011.

  1. assenda, 14.04.2011 #1
    assenda

    assenda Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    55
    Erhaltene Danke:
    0
    Registriert seit:
    02.12.2010
    Ich hätte da eine Frage bezüglich der Laufzeiten von Prozessen/Threads:

    Weiß jemand, wie lange Prozesse laufen?

    Hab das Problem, dass meine App. nach einer Zeit nicht mehr ausgeführt wird. Vermutlich, sobald der Bildschirm ausgeht...

    Wie ist es möglich, einen Prozess dauerhaft aufrecht zu erhalten (z.b. um Benachrichtigungen bei einer neuen sms anzuzeigen?!)

    Kann mir jemand helfen?!
    danke!
     
  2. ko5tik, 14.04.2011 #2
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    Das solltest du nicht tun. Dein Prozess kann sowieso jederzeit abgeschossen werden.
    Ween du informiert werden willst, das eine SMS angekommen ist solltest du auf entsprechenden Intent
    hören
     
  3. assenda, 14.04.2011 #3
    assenda

    assenda Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    55
    Erhaltene Danke:
    0
    Registriert seit:
    02.12.2010
    Naja im Prinzip ist es keine "echte" sms, die ich anzeigen will...

    Es soll dauerhaft ein Zugriff auf eine Datenbank im Internet erfolgen,
    die z.b. jede min abfragt, ob neue Einträge da sind..
    Diese werden dann per sms versendet...

    Das alles funktioniert auch so, nur dass der Datenbankzugriff nach einer Zeit nicht mehr erfolgt. Deshalb gehe ich davon aus, dass Android den prozess "schlafen" legt. sobald die Tastensperre raus ist, ist das Programm wieder aktiv...Kann man dieses Problem auch mit Intents lösen?!

    Wenn ja: könntest du evtl mal pseudocode mäßig ein beispiel machen?!
     
  4. ko5tik, 14.04.2011 #4
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    In diesen Fall solltest du eher einen wiederkehrenden Alarm einstellen. Und einen BroadcastReceiver auf "on boot complete" ( damit es auch startet ). Und 1 Mal proMinute ist nicht ganz nett - großere Abstand vielleicht?
    Code:
            // schedule an alarm which will update the widget
            Intent ii = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
    
            ii.setClass(context, LiteralClockWidget.class);
    
            AlarmManager alarmService = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    
    
            //PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, ii, PendingIntent.FLAG_NO_CREATE);
    
            PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, ii, 0);
            // schedule new alarm every minute
            final long now = System.currentTimeMillis();        // schedule to next minute change
            alarmService.setInexactRepeating(AlarmManager.RTC, now - now % 60000 + 60000, 60000, pendingIntent);        
    Log.d(LOG_TAG, "alarm was scheduled");
    
    
     
  5. assenda, 14.04.2011 #5
    assenda

    assenda Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    55
    Erhaltene Danke:
    0
    Registriert seit:
    02.12.2010
    :) naja momentan haben wir sogar einen check jede 6 sekunden...
    --> Das ist momentan auch eine private App,
    über die wir über eine Website sms versenden.
    Das heißt das Handy liegt dauerhaft am Stromnetz und hat nur die Aufgabe sms zu versenden...

    Wenn man sich z.b apps wie icq anguckt, die müssen ja auch sofort reagieren, wenn eine nachricht ankommt?!

    Oda gibt es da irgendwelche probleme (ausgenommen vom Stromverbrauch?)

    :) und danke für diesen Codeschnippsel...! werde das mal ausprobieren :)
     
  6. ko5tik, 14.04.2011 #6
    ko5tik

    ko5tik Android-Experte

    Beiträge:
    620
    Erhaltene Danke:
    40
    Registriert seit:
    14.10.2009
    Phone:
    HTC Hero
    Dann geht es ja. Aber vielleicht wäre da eine Cloud Aneendung (google app engine - ist für kleinkram eh kostenlos) eher angebracht . Twitter-clienten checken so in etwa alle 10 Minuten

    Und Quellkode stammt aus “halb elf“-Widget
     
  7. assenda, 14.04.2011 #7
    assenda

    assenda Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    55
    Erhaltene Danke:
    0
    Registriert seit:
    02.12.2010
    hm ;) naja...wie gesagt die app ist schon am laufen,
    und die app läuft zwar privat, aber ist an eine Website angebunden, auf der so ca 70 personen newsnachrichten als auch private nachrichten schreiben..
    über die sms app (mit smsflat in alle netze) werden die nachrichten dann über die app an alle user bzw an den betreffenden Handynummer gesendet...

    Hab jetzt noch ein tutorial gefunden, bei dem mit Intents und services gearbeitet wird..

    Also könnte ich so die abfragen vermutlich auch im Hintergrund weiter ausführen...

    Danke dir :)
     

Diese Seite empfehlen