当按意图启动另一个 activity 然后返回时,AlertDialog 不会自行关闭

AlertDialog doesn't close by itself when launching another activity by intent and then returning

我有一个 alertDialog,它允许用户转到设置以打开位置。然后,当我从设置应用程序回来时,alertDialog 仍在显示,我必须手动将其关闭。任何想法如何解决这个问题?这是我的代码:

public void showSettingsAlert() {
    alertDialog = new AlertDialog.Builder(this);
    // Setting Dialog Title
    alertDialog.setTitle("Location settings");
    // Setting Dialog Message
    alertDialog.setMessage("Location service is not enabled. Do you want to go to settings menu?");
    // On pressing Settings button
    alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            dialog.dismiss();
            startActivity(intent);
        }
    });
    // on pressing cancel button
    alertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        }
    });
    alertDialog.show();
}

使用cancel()方法代替dismiss()

alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
        Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);

        startActivity(intent);
        dialog.cancel();

    }
});
 // On pressing Settings button
    alertDialog.setPositiveButton("Settings", new DialogInterface.OnClickListener() {

        public void onClick(DialogInterface dialog, int which) {
            alertDialog.dismiss();
            alertDialog.cancel();
            Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);                
            startActivity(intent);
        }
    });