美好的一天,我正在制作一个仅用于教育目的的应用程序。我已经在控制台开发者网站上启用了Google地图。
我的问题是,我如何实施或者更确切地说,如果检测到GPS未在电话中启用/没有互联网连接,则会弹出Snackbar? - 带有文字“Some”如果连接到互联网,将启用/使用功能“。
答案 0 :(得分:3)
要检查设备是通过手机还是wifi连接,您可以使用以下代码:
ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
//mobile
State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
//wifi
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
然后像这样使用它:
if (mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING) {
//mobile
} else if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING) {
//wifi
}
同时检查GPS状态:
public boolean isGPSEnabled (Context mContext){
LocationManager locationManager = (LocationManager)
mContext.getSystemService(Context.LOCATION_SERVICE);
return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
}
答案 1 :(得分:0)
要检查网络连接,您可以在任何文件中创建公共功能,也可以在其他文件中调用它。
方法如下所示:
public static boolean isconnected () {
ConnectivityManager connMan=(ConnectivityManager) MyApplication.getInstance().getApplicationContext().getSystemServices(Context.CONNECTIVITY_SERVICE) ;
NetworkInfo = connMan.getActiveNetworkInfo();
return active != null && active.isConnectedOrConnecting();
}
此处MyApplication是清单文件中application tag中声明的活动名称。