ユーザーがボタンをクリックするまでビープ音を鳴らすアクティビティがあります。 ボタンをクリックすると、メッセージが表示されます。メッセージを表示した後、ユーザーが戻るボタンを押して終了するのではなく、自分の活動を自分のホーム画面に出たい。アクティビティが終了した後にホーム画面に戻る
finish()
メソッドはこれを行いますか?はいの場合、どのように実装すればいいですか?
何か助けていただければ幸いです。ありがとう
ユーザーがボタンをクリックするまでビープ音を鳴らすアクティビティがあります。 ボタンをクリックすると、メッセージが表示されます。メッセージを表示した後、ユーザーが戻るボタンを押して終了するのではなく、自分の活動を自分のホーム画面に出たい。アクティビティが終了した後にホーム画面に戻る
finish()
メソッドはこれを行いますか?はいの場合、どのように実装すればいいですか?
何か助けていただければ幸いです。ありがとう
Intent i= new Intent("package.homescreenactivity");//homescreen of your app.
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(i);
finish();
アクティビティスタックをクリアしてホーム画面に戻ります。
概念全体を理解するには、このサイトをご覧ください。 http://developer.android.com/guide/components/tasks-and-back-stack.html。 サイトでは、アクティビティバックスタックの仕組みについて話しています。
更新:(8月15日2014)
クリアBackstackは良いアイデアではないかもしれません。効果的なナビゲーションデザインガイドラインをご覧ください。
戻るボタンは、前のアクティビティに戻ることになっています。
チェック
http://developer.android.com/design/patterns/navigation.html
すべての活動の仕上げ()メソッドを適用します。活動終了後、ホーム画面に戻ります。
ケース1:上finish()
を呼び出し、あなたはalertdialog
としてメッセージを見せていると仮定すると、あなたが家に行くために、ユーザーに依頼する場合
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
AlertDialog.Builder alertbox = new AlertDialog.Builder(this);
alertbox.setTitle(res.getString("Title"));
alertbox.setMessage(res.getString("Exit"));
alertbox.setIcon(R.drawable.logo);
alertbox.setPositiveButton(res.getString(R.string.Yes),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
exit();
}
});
alertbox.setNeutralButton(res.getString(R.string.No),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
}
});
alertbox.show();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void exit() {
moveTaskToBack(true);
}
:ボタンの
public void onClick(View v) {
// Show message here
moveTaskToBack(true);
}
ケース2をクリックしてくださいalertdialog
のボタンを押します。
Toast()
を使用している場合は、Toast()
の後にボタンを押すとfinish()
が呼び出されます。
ボタンonClick()
でfinish()
メソッドを適用し、startActivity()
の呼び出し後、以下のように仕上げ方法を適用することができます。
startActivity(intent obj);
finish();
申し訳ありませんが私は明確ではない場合。私はアンドロイド携帯電話のデフォルトのホーム画面を意味した。これはそれに戻りますか? – newbee
編集した投稿を確認してください。 – Raghunandan
はそれを得ました!ありがとう:) – newbee