权限 - android.permission.INTERNET,特定于特定类型的互联网连接(如2G,3G)还是适用于所有类型?而且,我是否需要INTERNET权限才能在没有/不需要访问互联网的专用网络上进行通信?
答案 0 :(得分:5)
android.permission.INTERNET
允许通过任何媒体(WiFi,移动)访问互联网。明智地对用户的使用限制持谨慎态度,你应该正确考虑managing network usage。
答案 1 :(得分:3)
任何Android设备,如果必须与其他设备通信,都必须使用sockets。当您向应用程序提供INTERNET权限时,您实际上是在请求permission to open network sockets。因此,无论您需要与之通信的其他设备在哪里(2G,3G互联网,WiFi,LAN等),您都需要使用INTERNET权限打开套接字与其进行通信。
答案 2 :(得分:1)
您可以执行类似此功能的操作,以隔离它们并根据您的要求执行操作。
public boolean isConnected()
{
boolean status = false;
ConnectivityManager manager = (ConnectivityManager)getSystemService(this.CONNECTIVITY_SERVICE);
Boolean is3g = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
Boolean isWifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
if(is3g){
status = true;
}else if(isWifi){
status = true;
}else{
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
}
return status;
}