Я пытаюсь реализовать кнопку, которая приведет к тому, что мое приложение вернется к первому действию и будет действовать так, как если бы оно было (почти) перезапущено. Этот код
Intent newIntent =
new Intent(currentActivity.getApplicationContext(), StartActivity.class);
newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + Intent.FLAG_ACTIVITY_CLEAR_TASK);
currentActivity.startActivity(newIntent);
похоже, работает нормально для нового планшета с Android 4.1, но он не работает на более старом устройстве под управлением Android 2.3.4.
Я нашел пару потоков об этом:
Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK не работает Android
Удалить все действия в задаче?
Чтение мелкого шрифта приводит меня к мысли, что я должен использовать класс IntentCompat в android-support-v4.jar, http://developer.android.com/reference/android/support/v4/content/IntentCompat.html
К сожалению, документация не содержит примеров, и я очень не уверен, как я должен использовать IntentCompat. Единственный пример, который я нашел, это следующее: Не запускать MainActivity с Android 2.3
что заставляет меня думать, что я должен делать что-то вроде этого:
Intent newIntent = IntentCompat.makeRestartActivityTask(cn);
Но это дает мне ошибку компилятора, говоря, что "makeRestartActivityTask" является символом undefined.
Я предполагаю, что это означает, что я не добавил поддержку android-support-v4.jar в мою среду сборки (выпуск сообщества IntelliJ IDEA 12), но я попытался сделать это несколькими различными способами, и он все еще не работает Не работай.
У меня есть два вопроса:
-
Я пытаюсь использовать IntentCompat правильно?
-
Как заставить компилятор перестать говорить, что "makeRestartActivityTask" является символом undefined?