最近在更新之前的一些java代码到kotlin去,然后把本来的NetReciever更新为kotlin版别,然后as给了我以下的过失:
wtf?这是什java模拟器么情况,仔细把提示的文github是干什么的字阅读一遍。。。
本来CONNECTIVITY_ACTIkotlin发音ON
现已过Java期,这儿官方举荐运用 requestNetwork
,registerNetworkCallback
or registerDgithub怎样下载文件efaultNetworkCallback
来替换原有的Broakotlin言语dcastRecgitlabiever计划,既然如此,就查验来改造一番。
首要根据不同github永久回家地址的版别区分不同的监听计划
主办法
//网络改动监听器
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP){
mConnectivityManager = gekotlin现在不火了tgithup官网SystemService(CONNECTIVITY_SERVICE) as Connkotlin现在不火了ectivityManagergithub怎样下载文件
val networkCallbackImpl = NetworkCallbackImpl()
mCjava面试题onnectivityManager.requestNetwork(NetworkRequest.Builder().build()github是干什么的,networkCallbackImpl)
}else{
networkReceiver = NegithubtWorkReciever()
val netFilter = IntentFilter()
nejavascripttFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION)
registerReceiver(networkReceiver,netFilter)
}
Nandroid下载安装etworkCallbackImpl
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
class NetworkCallbackImpl: ConnectivityManager.NetworkCallback() {
val TAG = "NetworkCallbackImpl"
override fgit教程un onAvailable(network: Network) {
super.onAvailable(network)
Log.i(TAG,"网络已链接")
}
override fun onLost(network: Network) {
super.onLost(network)
Log.i(TAG,"网络已断开")
}
override fun onCapabilitiesChanged(network: Network, netwojava初学rkCapabilities: NetworkCapabilities) {
sgithub中文官网网页uper.onCapabilitiesChanandroid电子市场ged(network, networkCapabilities)
if (neGittjava工作培训班workCapabilities.hasCapability(NetworkCapabilandroid的drawable类itigithub是干什么的es.NET_CAPABILITY_VALIDATED)) {
when {
//Wandroid下载IFFI
networkCapabilities.handroid是什么手机牌子asTgithubransport(NetworkCapabilities.TRANSPORT_WIFI) -> {
Log.i(TAG,"wifi现已联接")
}
//数据流量
networkCapabilitijava环境变量配置es.hasTrgithub怎样下载文件ansgithub永久回家地址port(NetworkCapabilities.TRANSPORT_CELLULAR) ->github中文官网网页; {
Log.i(TAG,"数据流量现已联接")
}
else -> {
Log.github打不开i(TAG,"其他网络")
}
}
}
}
}
然后补偿一下本来NeGitHubtWorkReciever
的代码
class NetWorkReciAndroidever:BroadcastReceivergithub中文社区() {
companion object{
const val TAG = "NetWork"
}
override fun onReceive(context: Context?, intent: Ingithub怎样下载文件tent?) {
if(ConnectivityManager.CONNECTIVITY_ACTION==intent?.action){
//网络改动
Logjava工作培训班.i(TAG,"NETWORK_CHANGE")
val connectiandroid下载vityManager =
context?.gandroid是什么手机牌子etSystemService(CONNECTIVITY_SERVICE) as Connectivitjava开发yManager
val info = connectiandroid是什么手机牌子vityManager.activeNetworkInfo
if (info != null && info.isConnected) {java言语
vagithub是干什么的l type = info.type
Log.i(TAG,"network isconnected ,typjava模拟器e is $type")
} else {
Log.i(TAG,"network disconnected ,type is -1")
}
}
}
}
这儿要增加两个权限到AndroidManifest.xml
下
<uses-permkotlin为什么盛行不起来ission android:name=javascript"android.Gitpermission.CHANGEjava怎样读_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
再注册一下NetWorkReciever
<receiver android:name=".reciever.NetWorkReciever">
<intent-filter>
<action android:giti轮胎是什么品牌name="android.ingit教程tent.action.CONNECTIVITY_CHANGE"/&gandroid电子市场t;
</intent-filter>
最终工作作用
代码地址:github.com/jiaoery/MyA…(也有github是干什么的一github开放私库些其他的代GitHub码学习记载)