0
我有一个微调类,其中有三个微调项目,在每个项目的情况下,我设置了重复闹钟的时间间隔。问题是我每次打开微调类,应用程序服务自动启动,但我希望服务只在我每次打开微调器类时更改微调器项目时才启动。 这里是微调项目的Java代码。当我打开微调时,报警服务自动启动活动
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_setting, container, false);
textView = (TextView) rootView.findViewById(R.id.textView);
spinner = (Spinner) rootView.findViewById(R.id.spinner1);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
getActivity(), R.array.time_interval, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id){
// String item = parent.getItemAtPosition(pos).toString();
// Toast.makeText(parent.getContext(), item, Toast.LENGTH_LONG).show();
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
SharedPreferences.Editor editor = sharedPreferences.edit();
Object test = parent.getSelectedItem();
switch (pos){
case 0:
break;
case 1:
editor.putInt("intervalInMinutes", 5*60*1000);
break;
case 2 :
editor.putInt("intervalInMinutes", 10*60*1000);
break;
case 3 :
editor.putInt("intervalInMinutes", 15*60*1000);
break;
}
editor.apply();
GpsTrackerAlarmReceiver alarm = new GpsTrackerAlarmReceiver();
alarm.setAlarm(getActivity());
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
// Inflate the layout for this fragment
return rootView;
}
@Override
public void onPause() {
super.onPause();
SharedPreferences prefs = getActivity().getSharedPreferences("prefs_name", Context.MODE_PRIVATE);
prefs.edit().putInt("spinner_indx", spinner.getSelectedItemPosition()).apply();
}
@Override
public void onResume() {
super.onResume();
SharedPreferences prefs = getActivity().getSharedPreferences("prefs_name", Context.MODE_PRIVATE);
int spinnerIndx = prefs.getInt("spinner_indx", 0);
spinner.setSelection(spinnerIndx);
}
@Override
public void onAttach(Activity activity) {
//noinspection deprecation
super.onAttach(activity);
}
@Override
public void onDetach() {
super.onDetach();
}
}
尝试更新的代码 –
感谢后共享prefrences其工作 –
我的快乐和幸福的编码 –