MVP中的硬件资源

问题描述

我正在开发一个需要使用设备麦克风的应用程序。我正在使用MVP模式。 我应该在哪里放置与用户(内部演示者或模型)访问麦克风的权限相关的函数。

根据请求权限结果,我需要对UI进行一些更改

请帮助

下面是请求许可的功能

... //请求权限

私人娱乐requestPermission( PermissionType:字符串, requestCode:Int

  {
    val permission = ContextCompat.checkSelfPermission(
        context as Activity,permissionType
    )

    if (permission != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(
            context as Activity,arrayOf(permissionType),requestCode
        )
    }
    Log.i(TAG,"requestPermission: $permission")
}


//Callback for the result from requesting permissions
override fun onRequestPermissionsResult(
    requestCode: Int,permissions: Array<String>,grantResults: IntArray
) {
    when (requestCode) {
        RECORD_REQUEST_CODE -> {

            if (grantResults.isEmpty() || grantResults[0]
                != PackageManager.PERMISSION_GRANTED
            ) {

                // view?.disableStartButton() /*need to make changes to UI */
                Toast.makeText(
                    context,"Record permission required",Toast.LENGTH_LONG
                ).show()
            } else {
                requestPermission(
                    Manifest.permission.WRITE_EXTERNAL_STORAGE,STORAGE_REQUEST_CODE
                )
            }
            return
        }
        STORAGE_REQUEST_CODE -> {

            if (grantResults.isEmpty() || grantResults[0]
                != PackageManager.PERMISSION_GRANTED
            ) {
               // view?.disableStartButton() /*need to make changes to UI */
                Toast.makeText(
                    context,"External Storage permission required",Toast.LENGTH_LONG
                ).show()
            }
            return
        }
    }
} 

...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...