Я просто хочу начать работу в первом прогоне. Поэтому после того, как я запускаю его, он никогда не должен открываться снова. В эту деятельность добавляетсяЗапустить действие только при первом запуске
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
поэтому эта деятельность начинается с начала. У меня есть переменная, которая помогает мне решить, запускается ли это мероприятие в первый раз или нет (Im сохраняет его с помощью SharedPreferences, который называется sem_first_time). Когда он равен 0, то это первый раз, если нет, то это действие должно завершиться и начать другой. Вот мой код
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SharedPreferences data = getSharedPreferences("datas",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = data.edit();
first_start = data.getInt("fstart", 0);
if (first_start == 1)
{
finish();
Intent start = new Intent(this, Main.class);
startActivity(start);
}
setContentView(R.layout.first_start);
Я получил кнопку, которая устанавливает first_start 1
public void create (View view)
{
SharedPreferences data = getSharedPreferences("datas",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = data.edit();
first_start = 1;
editor.putInt("fstart", first_start);
...
}
Но когда я начинаю это приложение один раз он показывает эту активность снова ... Что не так?
Узнайте о жизненном цикле деятельности: http://developer.android.com/training/basics/activity-lifecycle/starting.html –
Вы совершили после того, как поместить значение в 'SharedPreferences'? editor.commit(); –
Вот и все! Спасибо :) – user3339279