在Android中,我有一些代码可以检查用户是否已打开GPS,如果没有,则启动“设置”以将其打开。它看起来像这样:
private void buildAlertMessageNoGps() {
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder
.setMessage(
"Your GPS seems to be disabled - you need it to get a location fix. Turn it on now?")
.setCancelable(false).setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(
@SuppressWarnings("unused") final DialogInterface dialog,
@SuppressWarnings("unused") final int id) {
Intent j = new Intent();
j.setAction("android.settings.LOCATION_SOURCE_SETTINGS");
startActivity(j);
}
}).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();
}
然而,我发现如果用户打开设置,打开GPS,然后正常使用应用程序,则有一个奇怪的问题。通常,当用户重新打开应用程序时,“设置”位于前面。如何设置它们以便它们不会再次出现?
我想知道我是否应该使用CLEAR_TOP标志或类似的东西...我已经尝试查看活动标志的文档,但发现它们有点令人困惑。有人知道吗?