Получение обновленного значения общего предпочтения в сервисе
Я пытаюсь получить обновленное значение предпочтения shred в фоновом сервисе.
Я устанавливаю общее предпочтение в mainactivity и получаю значение в bg service, но я могу получить только Предыдущее значение, а не обновленное.
Что я уже пробовал:
selected_dev = getSharedPreferences("battery_widget", Context.MODE_PRIVATE | Context.MODE_MULTI_PROCESS); <pre>SharedPreferences.Editor editor = selected_dev.edit(); if(Integer.parseInt(min.getText().toString())!=0 && Integer.parseInt(max.getText().toString())!=0&& Integer.parseInt(max.getText().toString())>Integer.parseInt(min.getText().toString())) { editor.putInt("min", Integer.valueOf(min.getText().toString())); editor.putInt("max", Integer.valueOf(max.getText().toString())); min3 = Integer.valueOf(min.getText().toString()); max3 = Integer.valueOf(max.getText().toString()); min.setText(""); max.setText(""); min.setHint(String.valueOf(min3)); max.setHint(String.valueOf(max3)); editor.apply(); }else{ Toast.makeText(getApplicationContext(),"The values must be set in the following order min/max",Toast.LENGTH_LONG).show(); min.setText(""); max.setText(""); }
//Обслуживание
selected_dev = getSharedPreferences("battery_widget", Context.MODE_PRIVATE | Context.MODE_MULTI_PROCESS);
if(selected_dev.getInt("min",0)!=0 && selected_dev.getInt("max",0)!=0) { BATTERY_LOWER_LEVEL = selected_dev.getInt("min", 0); BATTERY_UPPER_LEVEL = selected_dev.getInt("max", 0); }
David Crow
В какой момент это происходит getInt()
тебе позвонили?
Рассмотрите возможность использования SharedPreferences.OnSharedPreferenceChangeListener
к вашим услугам так что призыв к getInt()
не бывает слишком рано.
Member 10850253
Проблема не в этом, проблема у меня в том, что служба работает в другом процессе.
<service android:name="com.hataflabs.batterywidget.ConnectService" android:enabled="true" android:process=":remote" > <intent-filter> <action android:name="com.hataflabs.batterywidget.ConnectService" /> </intent-filter> </service>
David Crow
"...проблема у меня в том, что служба работает в другом процессе."
Я не вижу здесь никакой релевантности. Общие предпочтения работают через границы процесса.