부팅시 자동시작 기능을 추가하려고합니다. MainActivity에서 자동시작 스위치를 키면 SharedPreference pref에 boolean값으로 true를 넣습니다. 그리고 부팅하면 A서비스와 B서비스 중 pref에 저장된 값에 따라 서비스를 실행하려고 합니다.
public class MainActivity extends AppCompatActivity {
...
private StPreference pref = new StPreference(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
onoff = pref.getValue("onoff", false);
...
}
}
이런식으로 사용을 합니다.
그리고 SharedPreference를 클래스로 선언해서 사용중입니다.
public class StPreference {
private final String PREF_NAME = "com.example.knight";
public final static String PREF_INTRO_USER_AGREEMENT = "PREF_USER_AGREEMENT";
public final static String PREF_MAIN_VALUE = "PREF_MAIN_VALUE";
static Context mContext;
public StPreference(Context c) {
mContext = c;
}
/****** 저장하기 ******/
//String형
public void put(String key, String value) {
SharedPreferences pref = mContext.getSharedPreferences(PREF_NAME, Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString(key, value);
editor.commit();
}
이렇게 선언해서 쓰는데 BroadcastReceiver로 StartReceiver.class를 만들었는데
SharedPreference를 사용할 수가 없네요. 사용할 수 있는 방법이 있을까요?
전체적인 소스가 필요하시면 올리겠습니다.