У меня есть служба, которая прослушивает 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);
}
Какой код вы пытались сохранить данные в sharedPreferences. Можете ли вы разместить здесь код. –
'int isCharging = intent.getIntExtra (BatteryManager.EXTRA_PLUGGED, -1);' 'appPrefs.setIsCharging (isCharging);' для установки – whiteLT
Отправьте ваш код для получения более подробной информации – DjHacktorReborn