如果所需权限可用,如何仅检查网络状态?

时间:2014-11-19 10:52:41

标签: android android-permissions

如果用户不在线,我会在一个可以做一些技巧的库上工作。 为此,我请求网络状态如下:

ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectivityManager.getActiveNetworkInfo();
boolean isConnected = !(info == null || !info.isConnected());

我如何只检查权限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

可用吗?

我不想强制lib的所有下游项目仅对库中的技巧要求此权限。

1 个答案:

答案 0 :(得分:1)

我认为你应该使用checkPermission实用程序。

http://developer.android.com/reference/android/content/pm/PackageManager.html#checkPermission%28java.lang.String,%20java.lang.String%29

int res = getContext().checkCallingOrSelfPermission(Manifest.permission.ACCESS_NETWORK_STATE);
return (res == PackageManager.PERMISSION_GRANTED);