Java 如何在我的应用程序中启用网络和gps定位?
我正在尝试获取用户的位置: //获取GPS状态Java 如何在我的应用程序中启用网络和gps定位?,java,android,gps,geolocation,android-location,Java,Android,Gps,Geolocation,Android Location,我正在尝试获取用户的位置: //获取GPS状态 isGPSEnabled = locationManage.isProviderEnabled(LocationManager.GPS_PROVIDER); // getting network status isNetworkEnabled = locationManager .isProviderEnabled(LocationManager.NETWORK_PROVIDER);
isGPSEnabled = locationManage.isProviderEnabled(LocationManager.GPS_PROVIDER);
// getting network status
isNetworkEnabled = locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (!isGPSEnabled && !isNetworkEnabled) {
// no network provider is enabled
Log.e(MyLogger.TAG, "Non providers are enabled");
我需要用户设置启用网络位置
或打开GPS
如何帮助用户完成这些选项中的每一项
这意味着打开一个确认对话框来启用这两个设置。startActivityForResult(新意图(android.provider.settings.ACTION\u LOCATION\u SOURCE\u settings),0) 在4.1之后,在代码中更改这些设置是不可能的(它们可能是打开设置的一种变通方法,因为如果出现错误,但在4.3或4.4上不起作用,或者您需要根手机,您可以向用户显示一个对话框以转到设置以启用GPS
public static void LocationAlertDialog(final Context context) {
AlertDialog.Builder d = new AlertDialog.Builder(context);
d.setTitle("No Providers");
d.setMessage("Unfortunately, you don't have any providers to get your location, would you like to turn on your GPS?");
d.setNegativeButton(context.getResources().getString(R.string.dialogCancel), new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
d.setPositiveButton(context.getResources().getString(R.string.dialogAccept), new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
context.startActivityForResult(i, 0);
}
});
d.show();
}
调用中的上一个函数
if (!isGPSEnabled && !isNetworkEnabled) {
LocationAlertDialog(this);
Log.e(MyLogger.TAG, "Non providers are enabled");
然后,在您的
onActivityResult
中,您可以使用最新的位置api检查代码0是否已打开GPS,您可以通过应用程序内的设置对话框提示用户动态更改位置设置
我可以仅在我的应用程序内更改这两个设备设置吗?它将更改所有已安装的应用程序,您不能仅更改一个应用程序的位置配置否,我的意思是,我如何更改所有已安装应用程序的全局设置,但只能在我的应用程序内更改(静默),而无需将用户带到e设置页面使用我编写的代码,它会将您带到位置设置页面,并在更改后返回应用程序,然后所有应用程序的位置设置都会更改。如果您想创建自己的位置配置视图(不使用默认的android)我不认为你能做到这一点,也许有办法要求超级用户的许可,但我不知道很久以前这种方法是用于gps的,但这是一个错误尝试这个链接:,