gpt4 book ai didi

java - 检查位置和数据服务是否开启,Android 开发者

转载 作者:太空宇宙 更新时间:2023-11-04 11:40:14 24 4
gpt4 key购买 nike

我的问题是,当我检查位置服务和数据是否关闭时,我的手机不会弹出没有启用数据或位置访问的通知,就像如果其中一个为假,它会显示通知。此功能在我的华为 P8 Lite 上不起作用,但在我的 Nexus 模拟器上起作用

检查是否启用的函数:

public static boolean isServicesEnabled(Context context)
{
LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
boolean Data=false;
boolean GPS=false;

try
{
Data = lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
GPS = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
}
catch(Exception e){return false;}
if((Data == true) && (GPS == true))
{
return true;
}else
{
return false;
}
}

有什么想法为什么这不起作用吗?忽略 boolean 值的多余使用

最佳答案

尝试此检查数据服务

   public boolean isNetworkConnected(Context context)
{
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// There are no active networks.
return false;
} else
return true;
}

尝试检查 GPS 是否启用

 LocationManager locationManager = (LocationManager) mContext
.getSystemService(LOCATION_SERVICE);

// getting GPS status
boolean isGPSEnabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);

并且不要在 list 文件中添加权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />

我希望这对您的情况有用,谢谢

关于java - 检查位置和数据服务是否开启,Android 开发者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42873609/

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