アプリが最初のアクティビティに戻り、(ほぼ) 再起動されたかのように動作するボタンを実装しようとしています。このコード
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
細かい活字を読むと、android-support-v4.jar、 http: //developer.android.com/reference/android/support/v4/content/IntentCompat.html の IntentCompat クラスを使用する必要があると思います。
残念ながら、ドキュメントには例が含まれておらず、IntentCompat をどのように使用すればよいかよくわかりません。私が見つけた唯一の例はこれです: Android 2.3 で MainActivity を開始しないでください
これは、私がこのようなことをすべきだと私に信じさせます:
Intent newIntent = IntentCompat.makeRestartActivityTask(cn);
しかし、これにより、「makeRestartActivityTask」は未定義のシンボルであるというコンパイラ エラーが発生します。
これは、ビルド環境 (IntelliJ IDEA 12 コミュニティ エディション) に android-support-v4.jar を正しく追加していないことを意味していると推測していますが、いくつかの異なる方法でそれを試しましたが、まだ機能しません。 .
だから私は2つの質問があります:
私が試みた IntentCompat の使用法は正しいように見えますか?
「makeRestartActivityTask」が未定義のシンボルであるとコンパイラに言わせないようにするにはどうすればよいですか?