我正在使用包含MapActivity的Android应用,需要互联网连接和位置服务。在意图的帮助下,我可以在第一个活动中检查互联网和位置服务的可用性(使用alertdialog显示弹出窗口)。 有没有办法在启动应用程序时检查互联网和位置服务的可用性(单击主屏幕中的应用程序)。因为我想要消除alertdialog用于检查登录活动中的内容。 ie)在android中是否有任何方式注册意图并将其标记为必需,以便android框架本身阻止我的应用程序启动。
答案 0 :(得分:0)
确实,您可以使用以下代码检查手机是否连接到INTERNET,如果不是,您可以终止应用程序或显示相应的消息。
public boolean isOnline(){
Runtime runtime = Runtime.getRuntime();
try {
Process ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8");
int exitValue = ipProcess.waitFor();
return (exitValue == 0);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return false;
}
此处的IP地址是Google,您可以使用自己的服务器替换它。如果连接则返回true,否则返回false。下面的代码可用于检查位置权限
if(checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION)!= PackageManager.PERMISSION_GRANTED &安培;&安培; checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION)!= PackageManager.PERMISSION_GRANTED){ //在这里做点什么(终止或消息) }