Я рекомендовал бы использовать в SharedPreferences для этого:
Основная идея заключается в том, что вы читали SharedPreferences и искать логическое значение, которое не существует там при первом запуске приложения. По умолчанию по умолчанию вы вернете «истину», если значение, которое вы искали , не найдено, что указывает на то, что на самом деле это первое начало приложения. Затем, после первого запуска приложения, вы сохраните значение «false» в своих SharedPreferences, а после следующего запуска значение «false» будет считано из SharedPreferences, что указывает на то, что это больше не первое начало приложения.
Вот пример того, как это может выглядеть следующим образом:
@Override
protected void onCreate(Bundle savedInstanceState) {
// your other code...
// setContentView(...) initialize drawer and stuff like that...
// use thread for performance
Thread t = new Thread(new Runnable() {
@Override
public void run() {
SharedPreferences sp = Context.getSharedPreferences("yoursharedprefs", 0);
boolean isFirstStart = sp.getBoolean("key", true);
// we will not get a value at first start, so true will be returned
// if it was the first app start
if(isFirstStart) {
mDrawerLayout.openDrawer(mDrawerList);
Editor e = sp.edit();
// we save the value "false", indicating that it is no longer the first appstart
e.putBoolean("key", false);
e.commit();
}
}
});
t.start();
}