2011-01-07 57 views
0

我創建了一個應用程序,輪詢服務器以獲取必須發送給我們用戶的短信。對於輪詢功能,我已經使用了報警經理解僱每5分鐘輪詢服務器Android鬧鐘管理器不能在三星Galaxy手機上工作

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"); 
     } 

我已經測試了針對2.2構建模擬器的應用,一切工作正常,現在測試最終出來的短信會我已經在三星Galaxy S手機上安裝了該應用程序。

一旦安裝了應用程序,並且選擇了輪詢服務器的優先選項,則什麼都不會發生。

可能是什麼問題

+0

我有問題(許多! )在三星Galaxy S設備中,在這種情況下,我遇到了讀取默認共享prefs的問題,並在logcat中看到以下日誌消息 - 您是否也看到了這一點?「W/ApplicationContext(4563):嘗試閱讀 首選項文件/dbdata/databases/.../ shared_prefs /..._ preferences.xml沒有 權限「 此外,我發現一些引用這隻bei在2.2.1上有問題 - 你在什麼版本上? – DustinB 2011-01-25 20:19:39

回答

0

考慮爲您的問題使用BuzzBox SDK庫。

​​

您可以安排使用一個cron字符串任務:

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

我有一個Galaxy S的,我在我的幾個應用程序的使用BuzzBox SDK。 您可以檢查集成在SDK中的計劃程序日誌以驗證您的任務是否正常運行。