在主屏幕中单击应用程序时检查应用程序的先决条件

时间:2016-04-14 07:46:48

标签: java android

我正在使用包含MapActivity的Android应用,需要互联网连接和位置服务。在意图的帮助下,我可以在第一个活动中检查互联网和位置服务的可用性(使用alertdialog显示弹出窗口)。  有没有办法在启动应用程序时检查互联网和位置服务的可用性(单击主屏幕中的应用程序)。因为我想要消除alertdialog用于检查登录活动中的内容。 ie)在android中是否有任何方式注册意图并将其标记为必需,以便android框架本身阻止我的应用程序启动。

1 个答案:

答案 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){     //在这里做点什么(终止或消息) }