怕內容失效,留存
在API 29中,NetworkInfo被標記為棄用。在以往情況下,我們常用 NetworkInfo 來判斷網絡連接與否以及判斷網絡的類型,那么在Android 10中我們可以用 NetworkCapabilities 來代替。代碼中,由於getActiveNetwork需要API > 23,所以在使用時最好加入對於API版本的判斷,在 23 以下的仍使用 NetworkInfo。
public class netWorkChangeReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); Network network = connectivityManager.getActiveNetwork(); if(network == null){ Toast.makeText(context,"unavailable",Toast.LENGTH_LONG).show(); } else{ NetworkCapabilities networkCapabilities = connectivityManager.getNetworkCapabilities(network); assert networkCapabilities != null; if(networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)){ Toast.makeText(context,"Cellular",Toast.LENGTH_LONG).show(); } if (networkCapabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)){ Toast.makeText(context,"WIFI",Toast.LENGTH_LONG).show(); } } } }
————————————————
版權聲明:本文為CSDN博主「Temple_of_light」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/Mr_nuts/article/details/115031075
更詳細說明:https://blog.csdn.net/SweetTool/article/details/105377697
————————————————
版權聲明:本文為CSDN博主「二流小寶」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/SweetTool/article/details/105377697