Member 10850253 Ответов: 0

Получение обновленного значения общего предпочтения в сервисе


Я пытаюсь получить обновленное значение предпочтения 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

"...проблема у меня в том, что служба работает в другом процессе."

Я не вижу здесь никакой релевантности. Общие предпочтения работают через границы процесса.

0 Ответов