Самый простой способ сохранить постоянные данные на Android (BroadcastReceiver)

Мне нужно сохранить один int в постоянном порядке.

Самый простой способ найти это: SharedPreferences но он требует активности, у меня нет активности, потому что я унаследовал от BroadcastReciever и хочу сохранить и прочитать данные в

public void onReceive(final Context arg0, Intent arg1) 
{
 // Save data here
}

Каков мой лучший и самый простой вариант.

2 ответа

У вас уже есть контекст в onReceive. Так легко:

public void onReceive(final Context context, Intent arg1) 
{
 SharedPreferences prefs = context.getSharedPreferences("myPrefs", 
 Context.MODE_PRIVATE);
 Editor editor = pref.edit();
 editor.putString("key_name", "string value");
 editor.commit();
}

Надеюсь, поможет.


SharedPreferences связаны с контекстом, а не с активностью, поэтому вы можете использовать

public void onReceive(final Context arg0, Intent arg1) 
{
 PreferenceManager.getDefaultSharedPreference(arg0).edit().putInt(yourInt).apply();
}

licensed under cc by-sa 3.0 with attribution.