网站背景修改,烟台比较好的软件公司,网页设计的五大原则,一个网站用多少数据库表1 问题我们需要在Activity里面监听网络变化、热点是否开启和关闭、GPS服务是否开启、位置权限是否开启等一些列行为。2 思路方法一#xff1a;如果是需要启动activity进行权限申请#xff0c;我们可以用如下组合模式var intent Intent(Settings.ACTION_LOCATION_SOURCE_SETT…1 问题我们需要在Activity里面监听网络变化、热点是否开启和关闭、GPS服务是否开启、位置权限是否开启等一些列行为。2 思路方法一如果是需要启动activity进行权限申请我们可以用如下组合模式var intent Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS)startActivityForResult(intent, REQUEST_GPS_CODE)override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {super.onActivityResult(requestCode, resultCode, data)Log.i(TAG, onActivityResult start requestCode is: requestCode)//Android8.0以上版本if (requestCode REQUEST_GPS_CODE) {}}方法二我们在onResume里面进行权限检测方法三注册广播来进行监听方法四利用handler.postDelayed实现定时器然后定时检测权限/*** 检查是否满足条件让按钮变蓝色的定时器*/inner class CheckCondition : Runnable {var context: Context? nullvar type: String? nullconstructor(context: Context, type: String) {this.context contextthis.type type}override fun run() {var result falseresult condition(type!!)Log.i(TAG, CheckCondition result is:$result)if (result) {nextCreateWifAp.isEnabled true} else {nextCreateWifAp.isEnabled false}handler!!.postDelayed(this, 1000)}}checkCondition CheckCondition(this, ANDROID_VERSION_SIX_TO_SEVEN)handler.postDelayed(checkCondition, TIME_TITERVAL)方法五在onWindowFocusChanged函数里面检测比如切换页面滑动菜单栏都能触发到方案最理想基本上能满足你的需求。override fun onWindowFocusChanged(hasFocus: Boolean) {super.onWindowFocusChanged(hasFocus)Log.i(TAG, onWindowFocusChanged-----------------------)var result falsehandler.postDelayed(Runnable {result condition(currentType)Log.i(TAG, CheckCondition result is:$result)if (result) {nextCreateWifAp.isEnabled true} else {nextCreateWifAp.isEnabled false}}, 1000)}