我的应用程序中有一个INTERNET权限.但现在我想在我的应用中添加谷歌分析.它说它需要一个CHECK_INTERNET_SATE.我必须添加它吗?如果是这样,它看起来很奇怪 - 可以访问互联网的应用程序无法读取它的状态.我不认为这是正常的
这两个权限之间存在基本差异,
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
上述权限允许应用程序打开网络套接字.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Run Code Online (Sandbox Code Playgroud)
上述ACCESS_NETWORK_STATE权限 允许应用程序访问有关网络的信息.
例:
如果要在a中加载URL WebView,则只需要android.permission.INTERNET权限.
如果您需要从服务器下载某些数据,则需要在下载之前检查互联网连接可用性.否则,如果没有连接,应用程序可能会崩溃.如下所示,您可以检查互联网连接,
public boolean isOnline() {
ConnectivityManager cm =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码段中,您将获取有关网络的信息,因此您必须获得此 android.permission.ACCESS_NETWORK_STATE权限.
And it says it need a CHECK_INTERNET_SATE. Do I have to add it?
Run Code Online (Sandbox Code Playgroud)
Google Analytics SDK会在向服务器发送信息之前检查网络可用性,因此您也需要该权限.
希望它能清除你的怀疑.
参考
http://developer.android.com/reference/android/Manifest.permission.html
| 归档时间: |
|
| 查看次数: |
4900 次 |
| 最近记录: |