问题描述
我正在开发一个需要使用设备麦克风的应用程序。我正在使用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 (将#修改为@)