gpt4 book ai didi

android - 提示后检查用户是否启用了 GPS

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:56:06 26 4
gpt4 key购买 nike

简单明了。我启动一个 Activity 并检查手机是否启用了 GPS 模块。如果未启用,我会通过对话框提示用户并询问他是否要手动启用它。在"is"上,我激活“位置设置”。现在用户可以根据需要启用它,但我需要检查他做了什么。

try {
isGPSEnabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
} catch (Exception ex) {}
if (isGPSEnabled) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 0, locationListenerGps);
} else {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage(
"Your GPS module is disabled. Would you like to enable it ?")
.setCancelable(false)
.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,
int id) {
// Sent user to GPS settings screen
final ComponentName toLaunch = new ComponentName(
"com.android.settings",
"com.android.settings.SecuritySettings");
final Intent intent = new Intent(
Settings.ACTION_LOCATION_SOURCE_SETTINGS);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(toLaunch);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivityForResult(intent, 1);
dialog.dismiss();
}
})
.setNegativeButton("No",
new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,
int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}

我需要知道用户在位置设置中选择了什么,当他回来时才能继续我的代码逻辑。基本上我需要等待用户做出选择并返回我的 Activity ,并且还要再次检查 gps 模块的状态。

最佳答案

为什么不在 onActivityResult() 方法中检查 LocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)?当用户返回时,应该调用此方法,因为您调用了 startActivityForResult()。如果用户启用了 GPS,则 isProviderEnabled() 现在应该返回不同的结果。

或者,始终在 onResume 方法中进行 GPS 检查。如果用户从位置设置返回并且没有启用 GPS,那么他们只会收到相同的提示,直到 GPS 启用。

还是我遗漏了什么?

关于android - 提示后检查用户是否启用了 GPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6031004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com