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.页面制作
