0

Locations Service Settings を開くための警告ダイアログを表示する次のコードがあります。

alert = new AlertDialog.Builder(context).create();
alert.setTitle("Unable to Retrieve Current Location");
alert.setMessage(" Enable Location Service ?");
alert.setButton(DialogInterface.BUTTON_POSITIVE,"Open Settings", new DialogInterface.OnClickListener() {

    @Override
    public void onClick(DialogInterface dialog, int which) {
        alert.dismiss();
        Intent intent = new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS);
        context.startActivity(intent);

    }
});
alert.setCancelable(false);
alert.show();

設定は正常に開きますが、[戻る] を押しても [前のダイアログ] は消えません。設定から戻ったときにダイアログを閉じる方法。

4

3 に答える 3

0

これを試して:

AlertDialog.Builder alert = new AlertDialog.Builder (context);
alert.setTitle ("Unable to Retrieve Current Location");
alert.setMessage (" Enable Location Service ?");
alert.setButton (DialogInterface.BUTTON_POSITIVE, "Open Settings", 
                 new DialogInterface.OnClickListener() {

  @Override
  public void onClick(DialogInterface dialog, int which) {
    Intent intent = new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS);
    context.startActivity (intent);
  });

// Create and show the dialog.
alert.create();
alert.show();

主な違いは、コンポーネントを追加するまでcreateを延期すること、 showを呼び出すこと、およびdisconnectを呼び出さないことです。

于 2012-12-11T03:57:59.227 に答える
0

dialog.dismiss();の代わりに使用alert.dismiss();

于 2012-12-11T04:57:40.430 に答える
0

それ以外のalert.dismiss();

オンクリックイベント

try finish();// これでアクティビティが終了します

于 2012-12-11T04:52:16.653 に答える