0

世界中の Android アプリ デベロッパーの皆様、こんにちは。

私はAndroidアプリ開発の初心者です。メニュー ボタンをオーバーライドして、ユーザーがメニュー ボタンを押すと、アプリを終了するためのポップアップ ボタンと終了ボタンが表示されるようにする方法。

ご協力ありがとうございました。

4

4 に答える 4

1

cordovaあなたがタグを付けhtml5て質問したことを誰も気にしていないようです!onDeviceReady イベントで、リスナーをメニュー ボタンに設定して呼び出しますnavigator.app.exitApp()

function onDeviceReady(){
   document.addEventListener("menubutton", closeApp, false);
} 

function closeApp(){
   navigator.app.exitApp();
} 

他の回答は実際にはあなたの質問に答えていませんが、重要な情報があることに注意してください。

  • すべてのデバイスにメニュー ボタンがあるわけではありません。
  • アプリを閉じることをユーザーに必ず通知してください。ダイアログを表示する Adrien のアプローチはかなり標準的で十分です。
  • iOS 用の閉じるボタンがあるアプリを公開しようとすると、アプリは おそらく拒否されます
于 2013-07-04T09:46:38.440 に答える
0

このように:編集

public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
    // Create your alertDialog
        new AlertDialog.Builder(this)
    .setTitle("Exit ?")
    .setMessage("Are you sure you want to exit?")
    .setNegativeButton(android.R.string.no, null)
    .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {

        public void onClick(DialogInterface arg0, int arg1) {
            //Destroy your current activities
    Intent i = getBaseContext().getPackageManager()
                    .getLaunchIntentForPackage(   getBaseContext().getPackageName() );
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(i);
        }
    }).create().show();
    return true;
}
return super.onKeyUp(keyCode, event);
}

この助けを願っています

于 2013-07-04T09:31:10.337 に答える
0

Android の設計では、選択によってアプリケーションを終了するのではなく、OS によってアプリケーションを管理します。対応するインテントによってホーム アプリケーションを起動できます。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_MENU)) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Do you want to Exit?").setCancelable(true)
            .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    Intent intent = new Intent(Intent.ACTION_MAIN);
                    intent.addCategory(Intent.CATEGORY_HOME);
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(intent);
                }
            });
              .setNegativeButton("OK", new DialogInterface.OnClickListener() {
                  dialog.dismiss();
                });
    AlertDialog alert = builder.create();
    alert.show();
    }
    return true;
}
于 2013-07-04T09:32:38.627 に答える
0
  1. メニューボタンは非推奨です!(アンドロイド4以降)
  2. プログラムでアプリを終了しないでください。Android システムにアプリのライフサイクルを管理させましょう。アプリを終了する必要はありません。実際、マルチタスク アプリのコンテキスト切り替え (iOS と比較して Android の優れた機能です) を破壊します。そのため、ユーザーは現在のアプリの状態 (画面/データなど) に戻ることはできません。アプリはまったく新しい状態で開始されるため、ユーザーは以前の場所に移動する必要があります。
于 2013-07-04T09:31:17.730 に答える