亦余心之所善兮,虽九死其犹未悔。这篇文章主要讲述如何检查我是否在Android 4.4及以上版本中以编程方式打开gps? [重复]相关的知识,希望能为你提供帮助。
这个问题在这里已有答案:
- How do I get the current GPS location programmatically in Android? 22回答
答案
public static boolean isLocationEnabled(Context context) {
int locationMode = 0;
String locationProviders;
if (Build.VERSION.SDK_INT >
= Build.VERSION_CODES.KITKAT){
try {
locationMode = Settings.Secure.getInt(context.getContentResolver(), Settings.Secure.LOCATION_MODE);
} catch (SettingNotFoundException e) {
e.printStackTrace();
return false;
}return locationMode != Settings.Secure.LOCATION_MODE_OFF;
}else{
locationProviders = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
return !TextUtils.isEmpty(locationProviders);
}}
另一答案你可以使用LocationManager
【如何检查我是否在Android 4.4及以上版本中以编程方式打开gps( [重复])】此类提供对系统位置服务的访问。这些服务允许应用程序获取设备的地理位置的定期更新,或者在设备进入给定地理位置附近时触发应用程序指定的Intent。这是您正在寻找的代码片段
LocationManager locationManager = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
这已经过Android 4.4及以上版本的测试。但不适用于8.0。
推荐阅读
- Android kotlin - 应用程序在检查GPS是否启用时停止
- Android Geolocation在模拟器中工作但不在手机中工作
- 如何在Android上以编程方式启用或禁用GPS()
- Map返回Null或空Android Studio
- Android GPS FusedLocationProviderClient(经度错误)
- 如何在Android 6.x上以编程方式启用或禁用GPS()
- 有没有办法清除已经从Android设备手动捕获的位置详细信息()
- 如何在Android中使用GPS服务
- 如何在android中将输入流转换为字节数组到字符串