Uygulamam ilk kez başlatıldığında, kullanıcıyı bir yapılandırma dizesi türüne yönlendirmek istiyorum. Bunu yapmak için paylaşılan tercihler kullanıyorum. Kullanıcı uygulamayı ilk çalıştırdığında, paylaşılan tercihler dosyası boş olmalıdır. Önce "yapılandırılmış" anahtarıyla ilişkili bir boole değeri olup olmadığını kontrol eder. Değilse, tercih denilen etkinliğe yönlendirmelidir. Ancak, bunun üzerinde sadece 'atlamak' gibi görünüyor; bunun yerine öğle yemeği veya kahvaltı aktivitesine yönlendirme yapar. Paylaşılan tercihleri boşa çıkarmaya çalıştım bile. Sorunun ne olabileceği hakkında bir fikrin var mı?Java/Android Paylaşılan Tercihler - Doğru etkinliğe yönlendirilmiyor
launch_activity
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.util.Calendar;
import java.util.GregorianCalendar;
public class launch_activity extends AppCompatActivity {
// private PendingIntent pending;
/*public void startAlarm() {
AlarmManager alarm = (AlarmManager)getSystemService(ALARM_SERVICE);
GregorianCalendar greg = new GregorianCalendar();
Calendar now = Calendar.getInstance();
greg.set(now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH), 10, 30);
alarm.setRepeating(AlarmManager.RTC_WAKEUP, greg.getTimeInMillis(), 1000 * 60 * 60 * 24, pending);
}*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launch_activity);
// set alarm
// Intent alarmIntent = new Intent(this, alarmReceiver.class);
// pending = PendingIntent.getBroadcast(launch_activity.this, 0, alarmIntent, 0);
// startAlarm();
}
protected void onStart() {
super.onStart();
SharedPreferences preferences = getSharedPreferences("config", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
if((preferences.getBoolean("configured", false)) == false) { // app has not yet been set-up
Intent intent = new Intent(this, midamcorp.com.burgerkingapp.preferences.class);
intent.putExtra("setUp", true);
startActivity(intent);
}
Calendar cal = Calendar.getInstance();
if(cal.get(Calendar.HOUR_OF_DAY) > 4 && (cal.get(Calendar.HOUR_OF_DAY) <= 10 && cal.get(Calendar.MINUTE) < 28))
{
Intent intent = new Intent(this, breakfastHome.class);
startActivity(intent);
} else {
Intent intent = new Intent(this, lunchHome.class);
startActivity(intent);
}
}
protected void onResume() {
super.onResume();
SharedPreferences preferences = getSharedPreferences("config", MODE_PRIVATE);
if(!(preferences.getBoolean("configured", false))) { // app has not yet been set-up
Intent intent = new Intent(this, midamcorp.com.burgerkingapp.preferences.class);
intent.putExtra("setUp", true);
startActivity(intent);
}
Calendar cal = Calendar.getInstance();
if(cal.get(Calendar.HOUR_OF_DAY) > 4 && (cal.get(Calendar.HOUR_OF_DAY) <= 10 && cal.get(Calendar.MINUTE) < 28))
{
Intent intent = new Intent(this, breakfastHome.class);
startActivity(intent);
} else {
Intent intent = new Intent(this, lunchHome.class);
startActivity(intent);
}
}
}
tercihleri aktivite
import android.annotation.TargetApi;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.support.v7.app.ActionBar;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import android.preference.RingtonePreference;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
import android.view.View;
import android.widget.Button;
import android.widget.RadioButton;
import android.widget.Toast;
import java.util.List;
public class preferences extends AppCompatActivity {
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.configure_icon:
Intent i = new Intent(this, preferences.class);
startActivity(i);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private View.OnClickListener preferencesListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent;
switch (v.getId()) {
case R.id.back_button:
intent = new Intent(getBaseContext(), launch_activity.class);
startActivity(intent);
break;
case R.id.logoutButton:
SharedPreferences preferences = getSharedPreferences("config", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean("loggedIn", false);
editor.commit();
intent = new Intent(preferences.this, launch_activity.class);
startActivity(intent);
break;
/* case R.id.changeButton:
intent = new Intent(preferences.this, login.class);
startActivity(intent);
break; */
}
}
;
};
@Override
public void onCreate(Bundle savedInstanceState) {
SharedPreferences preferences = getSharedPreferences("config", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preferences);
Button back = (Button) findViewById(R.id.back_button);
// Button change = (Button)findViewById(R.id.changeButton);
Button logout = (Button) findViewById(R.id.logoutButton);
back.setOnClickListener(preferencesListener);
// change.setOnClickListener(preferencesListener);
logout.setOnClickListener(preferencesListener);
}
public void onStart() {
super.onStart();
Intent i = getIntent();
SharedPreferences preferences = getSharedPreferences("config", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
if (i.getBooleanExtra("setUp", false)) { // if app is starting for the first time set
editor.putBoolean("configured", true);
editor.commit();
} else {
if (!(preferences.getBoolean("loggedIn", false))) { // user is not logged in, redirect
Intent intent = new Intent(this, login.class);
startActivity(intent);
}
}
}
public void onRadioButtonClicked(View view) {
SharedPreferences preferences = getSharedPreferences("config", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
boolean isChecked = ((RadioButton) view).isChecked();
switch (view.getId()) {
case R.id.radio_boards:
if (isChecked) {
editor.putInt("Location", 2);
editor.commit();
}
break;
case R.id.radio_speciality:
if (isChecked) {
editor.putInt("Location", 3);
editor.commit();
}
}
}
}
Çok teşekkürler!