1

AlertDialog があり、[OK] をクリックした後にメイン アクティビティをリロードします。問題は、[OK] をクリックした後、アクティビティがホーム画面に戻ったことです。

ジャバコード:

private void buildAlertMessageNoGps() {
    final AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage(
        "This application needs GPS satellite or Wireless Networks localization enabled" 
        + "\n" + "Do you want to enable it?")
        .setCancelable(true)
        .setPositiveButton("Yes",
    new DialogInterface.OnClickListener() {
        public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
            startActivity(new Intent(
            Settings.ACTION_LOCATION_SOURCE_SETTINGS));
            finish();
            startActivity(getIntent());
        }

    })
        .setNegativeButton("No", new DialogInterface.OnClickListener() {
        public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
            dialog.cancel();


        }
    });

    final AlertDialog alert = builder.create();

    alert.show();

}

助けていただければ幸いです。

4

2 に答える 2

2

このコードを変更

new DialogInterface.OnClickListener() {
    public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
        startActivity(new Intent(
        Settings.ACTION_LOCATION_SOURCE_SETTINGS));
        finish();
        startActivity(getIntent());
    }  

new DialogInterface.OnClickListener() {
    public void onClick(final DialogInterface dialog, @SuppressWarnings("unused") final int id) {
        startActivityForResult(new Intent(
        Settings.ACTION_LOCATION_SOURCE_SETTINGS), 0);
    }
于 2013-03-21T07:10:29.027 に答える
0

onCreateメソッドを再度呼び出します。ただし、パラメータとしてnullを渡します。

onCreate(null);
于 2013-03-21T07:05:42.797 に答える