まあ、それは私の問題です。
ユーザーが背面下部を押したときに、開いているすべてのアクティビティのスタックを削除する必要があります。
@Override
public void onBackPressed(){
Intent i = new Intent(context, CrisolMainApp.class);
i.putExtra(CrisolMainApp.CERRAR_APP, true);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
}
ポイントは、これはほとんどの携帯電話で機能するということですが、昨日、Samsung Galaxy Mini (android 2.3.3) で試してみましたが、機能しません!! アクティビティのスタックを削除していません。
誰でも理由を知っていますか?
編集:ドキュメントをチェックしていたところ、「Intent.FLAG_ACTIVITY_CLEAR_TASK」がAPI 11に追加されたことがわかりました(私のSamsung Galaxy MiniはAndroid 2.3.3で動作しているため、API 10).......私はわかりませんが、それが問題だと思います。
11未満のAPIでも同じように動作させる方法を知っている人はいますか?
私はこれらのフラグを追加しようとしていましたが、どちらも機能していません:
@Override
public void onBackPressed(){
Intent a = new Intent(this, CrisolMainApp.class);
a.putExtra(CrisolMainApp.CERRAR_APP, true);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
a.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(a);
finish();
}
そして私も試しました:
@Override
public void onBackPressed(){
Intent a = new Intent(this, CrisolMainApp.class);
a.putExtra(CrisolMainApp.CERRAR_APP, true);
a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
a.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(a);
finish();
}