package com.casic.smarttube.view import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.amap.api.navi.NaviSetting import com.casic.smarttube.utils.Constant import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.utils.PageNavigationManager import pub.devrel.easypermissions.EasyPermissions import pub.devrel.easypermissions.EasyPermissions.PermissionCallbacks class PermissionActivity : AppCompatActivity(), PermissionCallbacks { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) PageNavigationManager.addActivity(this) //判断是否有权限,如果版本大于5.1才需要判断(即6.0以上),其他则不需要判断。 if (EasyPermissions.hasPermissions(this, *Constant.USER_PERMISSIONS)) { startSplashScreenActivity() } else { EasyPermissions.requestPermissions( this, "需要获取相关权限", Constant.PERMISSIONS_CODE, *Constant.USER_PERMISSIONS ) } } private fun startSplashScreenActivity() { //先把导航隐私政策声明,后面导航会用到 NaviSetting.updatePrivacyShow(this, true, true) NaviSetting.updatePrivacyAgree(this, true) navigatePageTo<SplashScreenActivity>() finish() } override fun onRequestPermissionsResult( requestCode: Int, permissions: Array<String>, grantResults: IntArray ) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this) } override fun onPermissionsGranted(requestCode: Int, perms: List<String>) { startSplashScreenActivity() } override fun onPermissionsDenied(requestCode: Int, perms: List<String>) { } }