2011-01-07 11 views
0

Ich habe eine App erstellt, die einen Server abfragt, um SMS zu holen, die an unsere Benutzer gesendet werden müssen. Für die Polling-Funktionalität habe ich den Alarmmanager verwendet alle 5 min zu feuern ServerAndroid Alarm Manager funktioniert nicht auf Samsung Galaxy Telefon

AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE); 
     Intent pintent = new Intent(this, SMSSender.class); 
     PendingIntent pIntent = PendingIntent.getBroadcast(this,0,pintent, 0); 
     if(checkbox.isChecked()) { 
      long interval = 60*Integer.valueOf(PreferenceManager.getDefaultSharedPreferences(this).getString("pref_poll_interval", "5000"));//5mins;//5mins 
      long firstPoll = SystemClock.elapsedRealtime() + 60*Integer.valueOf(PreferenceManager.getDefaultSharedPreferences(this).getString("pref_poll_interval", "5000")); 
      alarm.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstPoll, interval, pIntent); 
      Log.d("SMS_GATEWAY", "alarm manager turned on "+interval); 
     }else { 
      alarm.cancel(pIntent); 
      Log.d("SMS_GATEWAY", "alarm manager turned off"); 
     } 

ich die Anwendung getestet auf dem Emulator gegen die 2.2 Build haben abzufragen und alles funktioniert, testen Sie jetzt die letzte aus SMS gehen Ich habe die App auf einem Samsung Galaxy S Handy installiert.

Sobald die App installiert ist und die Präferenz für den Server ausgewählt ist, passiert nichts.

Was könnte das Problem sein

+0

ich Probleme mit (ZAHLREICHEN!) mit den Samsung Galaxy S-Geräten. In diesem speziellen Fall habe ich Probleme beim Lesen von Standard-Shared-Prefs und sehe die folgende Log-Nachricht in Logcat - siehst du das auch? "W/ApplicationContext (4563): Versuch zu lesen Voreinstellungsdatei /dbdata/databases/.../ shared_prefs /..._ preferences.xml ohne Erlaubnis " Außerdem habe ich einige Referenzen nur bei ein Problem, wenn auf 2.2.1 - in welcher Version sind Sie? – DustinB

Antwort

0

Betrachten Sie die BuzzBox SDK-Bibliothek für Ihr Problem mit.

SchedulerManager.getInstance() 
    .saveTask(this, "*/5 8-19 * * 1,2,3,4,5", YourTask.class); 

Ich habe ein Galaxy S und ich bin mit dem BuzzBox SDK in ein paar meiner apps: mit einem cron-String

http://hub.buzzbox.com/android-sdk/

Sie können eine Aufgabe planen. Sie können das im SDK integrierte Scheduler-Protokoll überprüfen, um zu überprüfen, ob Ihre Aufgabe ordnungsgemäß ausgeführt wird.

Verwandte Themen