2013-03-10 2 views
0

У меня есть служба, которая прослушивает ACTION_BATTERY_CHANGED, и я хочу иметь возможность передать (в свою деятельность) или сохранить (для последующего использования в своей деятельности) эти полученные данные. Я попробовал общие настройки, но это не помогло.Передача/сохранение данных из службы onReceive метод

Возможно, вы можете помочь сохранить или передать полученные данные.

EDITED

@Override 
     public int onStartCommand(Intent intent, int flags, int startId) { 
     appPrefs = new AppPreferences(getApplicationContext()); 

//    /* Broadcast Receiver for battery stats            */ 
     IntentFilter batteryLevelFilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); 


     BroadcastReceiver batteryLevelReceiver = new BroadcastReceiver(){ 
      @Override 
      public void onReceive(Context context, Intent intent){ 
       int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1); 
       int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, -1); 
       int isCharging = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1); 
       if (isCharging==0){ 

       } 
       else{ 
        appPrefs.setIsCharging(isCharging); 
        Log.e("inFFFF","FFFF "+appPrefs.getIsCharging()); // here I get my default value, not isCharging value 

       } 
      } 

     }; 

     registerReceiver(batteryLevelReceiver, batteryLevelFilter); 
     return Service.START_STICKY; 
     } 

В файле AppPrefs:

public void setIsCharging(int text){ 
      prefsEditor.putInt("isCharging", text); 
     } 

     public int getIsCharging(){ 
      return appSharedPrefs.getInt("isCharging", 9); 
     } 
+1

Какой код вы пытались сохранить данные в sharedPreferences. Можете ли вы разместить здесь код. –

+0

'int isCharging = intent.getIntExtra (BatteryManager.EXTRA_PLUGGED, -1);' 'appPrefs.setIsCharging (isCharging);' для установки – whiteLT

+1

Отправьте ваш код для получения более подробной информации – DjHacktorReborn

ответ

1

данных не спасает в sharedPreferences потому, что ты его не совершал.

public void setIsCharging(int text){ 
    prefsEditor.putInt("isCharging", text); 
    prefsEditor.commit(); //Add this line to commit data in sharedPreferences. 
} 
+0

: D Моя ошибка, ... Я чувствую себя глупо. Большое спасибо. Забыл добавить фиксацию в конце. Ответ будет принят в 2мин (ограничения стека) – whiteLT

Смежные вопросы