Kotlin高仿微信-第7篇-主页-动态权限申请
实现代码:
private fun handlePermission(){ var permissions = arrayOf( Manifest.permission.CAMERA, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.READ_PHONE_STATE) var isGranted = true for (i in permissions.indices){ var permission = permissions[i] if(!checkPermission(permission)){ isGranted = false break } } if(!isGranted){ requestPermissions(permissions, 88) } } fun checkPermission(permission: String) :Boolean { return ContextCompat.checkSelfPermission(WcApp.getContext(), permission) == PackageManager.PERMISSION_GRANTED } override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray ) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) if(requestCode == 88 && grantResults != null && grantResults.size > 0){ (fragments.get(TAB_WECHAT) as WeChatFragment).refresh() (fragments.get(TAB_CONTACTS) as ContactsFragment).refresh() (fragments.get(TAB_ME) as MeFragment).refresh() processNotification() } } /** * 判断手机通知栏是否启用, 如果不启用,跳转到页面开启 */ private fun processNotification(){ var account = DataStoreUtils.getAccount() TagUtils.d("viewpager是否启用:${ChatNotificationUtils.isNotificationEnabled()}") if(!TextUtils.isEmpty(account) && !ChatNotificationUtils.isNotificationEnabled()){ NotificationSettingMsg().showNotificationSetting(requireActivity(), viewpager_container_root, false, object : BasePopupWindow.IOnDismissListener{ override fun onDismiss() { // } }) } }
上一篇:
uniapp开发微信小程序-2.页面制作