[xiaozhi]
[权限转移到 mogo]
This commit is contained in:
yangyakun
2023-11-21 20:54:06 +08:00
parent 8d21486b60
commit 352b22c7f6
5 changed files with 76 additions and 19 deletions

View File

@@ -1,11 +1,14 @@
package com.mogo.eagle.core.function.main
import android.Manifest
import android.content.Intent
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Bundle
import android.provider.Settings
import android.view.*
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import androidx.recyclerview.widget.LinearLayoutManager
import com.kwai.koom.base.MonitorManager.addMonitorConfig
@@ -38,6 +41,7 @@ import com.mogo.eagle.core.function.hmi.ui.widget.StatusBarView
import com.mogo.eagle.core.function.main.modules.MogoModulesManager
import com.mogo.eagle.core.function.main.windowview.FloatingViewHandler
import com.mogo.eagle.core.utilcode.mogo.AppLaunchTimeUtils
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
@@ -49,7 +53,8 @@ import com.mogo.map.listener.IMogoMapListener
import com.mogo.map.listener.MogoMapListenerHandler.Companion.mogoMapListenerHandler
import com.mogo.map.uicontroller.EnumMapUI
import com.zhjt.service.chain.ChainLog
import kotlinx.android.synthetic.main.module_main_activity_main.*
import kotlinx.android.synthetic.main.module_main_activity_main.module_main_id_cover_up
import kotlinx.android.synthetic.main.module_main_activity_main.rvConnectInfo
import java.io.File
@@ -378,10 +383,32 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
if (requestCode == MainPresenter.MOGO_PERMISSION_REQUEST_CODE) {
var isAllGranted = true
// 判断是否所有的权限都已经授予了
for (grant in grantResults) {
val reasong = StringBuffer()
grantResults.forEachIndexed { index, grant ->
if (grant != PackageManager.PERMISSION_GRANTED) {
isAllGranted = false
break
when (permissions[index]) {
Manifest.permission.RECORD_AUDIO -> {
reasong.append("录音机、")
}
Manifest.permission.BLUETOOTH -> {
reasong.append("蓝牙、")
}
Manifest.permission.READ_EXTERNAL_STORAGE -> {
reasong.append("读取外部文件、")
}
Manifest.permission.WRITE_EXTERNAL_STORAGE -> {
reasong.append("写入外部文件、")
}
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION -> {
if(!reasong.contains("定位")){
reasong.append("定位、")
}
}
else -> {}
}
}
}
if (isAllGranted) {
@@ -389,7 +416,12 @@ open class MainActivity : MvpActivity<MainView?, MainPresenter?>(), MainView,
} else {
// 弹出对话框告诉用户需要权限的原因, 并引导用户去应用权限管理中手动打开权限按钮
if (!isFirst) {
PermissionsDialogUtils.openAppDetails(this, null, REQUEST_CODE_DIALOG)
if (reasong.isNotEmpty()) {
val substring = reasong.substring(0, reasong.length - 2)
PermissionsDialogUtils.openAppDetails(this, substring, REQUEST_CODE_DIALOG)
}else {
PermissionsDialogUtils.openAppDetails(this, null, REQUEST_CODE_DIALOG)
}
isFirst = true
}
}

View File

@@ -77,7 +77,8 @@ public class MainPresenter extends Presenter<MainView> {
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,
Manifest.permission.ACCESS_FINE_LOCATION
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
}, MOGO_PERMISSION_REQUEST_CODE);
}