ash*_*shb 3 android android-5.0-lollipop
如何android.net.NetworkCapabilities使用Android?
我查看了https://developer.android.com/reference/android/net/ConnectivityManager.html,但没有找到任何获取NetworkCapabilities对象的方法。
关于如何获得任何建议?
ConnectivityManager connectivity = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
Network[] networks = connectivity.getAllNetworks();
for (int i = 0; i < networks.length; i++) {
NetworkCapabilities capabilities = connectivity.getNetworkCapabilities(networks[i]);
}
Run Code Online (Sandbox Code Playgroud)
But this is available with API 21 and above.
NetworkCapabilities nc = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if(netInfo != null) {
nc = cm.getNetworkCapabilities(cm.getActiveNetwork());
}
}else{
ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
Network[] networks = connectivity.getAllNetworks();
for (int i = 0; i < networks.length && nc == null; i++) {
nc = connectivity.getNetworkCapabilities(networks[i]);
}
}
// use now nc
Run Code Online (Sandbox Code Playgroud)
在 Android > 23 上,您可以ConnectivityManager使用getActiveNetwork()
| 归档时间: |
|
| 查看次数: |
3251 次 |
| 最近记录: |