package com.example.basecore import android.content.Context import android.content.pm.PackageManager import android.os.Bundle import android.view.View import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat import com.example.basecore.util.sysbar.StatusBarUtils abstract class BaseBindingActivity : AppCompatActivity() { protected lateinit var mContext: Context companion object { const val PERMISSION_CODE = 10001 } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) mContext = this setContentView(getRootView()) initView() bindDataObserver() } protected abstract fun getRootView(): View protected abstract fun initView() open fun bindDataObserver() { } protected fun transStatusBar() { StatusBarUtils.transparentMode(this, true, isFullScreen = true) } open fun requestPermission(permissionList: List) { val list = mutableListOf() for (permission in permissionList) { //判断是否已经授权 if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED ) { list.add(permission) } } if (list.size > 0) { ActivityCompat.requestPermissions(this, list.toTypedArray(), PERMISSION_CODE) } } }