我有这种情况:我的 android 服务位置已启用,但我的 gps(gps 符号)未启用。
我想检查我的服务位置是否已启用并启动 Activity 。 我想检查我的 gps(请参阅 gps 打印屏幕 - gps 符号)是否已启用并向用户 toast 消息。
下面的代码会检查我的 gps(请参阅 gps 打印屏幕 - gps 符号)是否已启用,但不会检查服务位置是否已启用。 <== 这就是我需要……谢谢
final LocationManager locationManager =
(LocationManager) context.getSystemService(context.LOCATION_SERVICE);
try {
gps_enabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
我需要确定这两种情况并处理这个...
假设我禁用了 GPS(背景)。 (参见 gps 打印屏幕 - gps 符号) 和 我启用了我的服务位置。
最佳答案
如果您使用 LocationManager
要确定哪些位置服务可用,您将能够判断位置服务是打开还是关闭。例如,使用以下代码:
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
boolean isGpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
boolean isNetworkEnabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
Log.d("LOCATION SERVICES", "isGpsEnabled="+isGpsEnabled+" isNetworkEnabled="+isNetworkEnabled);
如果设备位置服务关闭,isGpsEnabled
和 isNetworkEnabled
都将为 false。如果仅关闭 GPS,但打开位置服务,则 isGpsEnabled
将为 false,但 isNetworkEnabled
将为 true。如果设备打开了位置服务,包括 GPS,则两者都为真。
关于android - 清楚地识别是否在后台启用了android服务位置和gps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32951368/