Я пишу Разрешение класс, здесь есть метод askMicrophonePermission .
В askMicrophonePermission , я использую ActivityCompat.requestPermissions функция.
Но я не могу переопределить onRequestPermissionsResult в Разрешение класс.
Если я хочу переопределить onRequestPermissionsResult в Разрешение , а не в MainActivity .
Как написать ??Вот мой код.
MainActivity:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Permission().askMicrophonePermission(this@MainActivity)
}
}
Разрешение:
class Permission{
private val tag = "Permission message"
private val userMicrophonePermissionAgreeCode = 1
fun askMicrophonePermission(context: Context){
val currentMicrophonePermission = ActivityCompat.checkSelfPermission(context,android.Manifest.permission.RECORD_AUDIO)
if(currentMicrophonePermission != PackageManager.PERMISSION_GRANTED)
ActivityCompat.requestPermissions(context as Activity, arrayOf(android.Manifest.permission.RECORD_AUDIO), userMicrophonePermissionAgreeCode)
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
when(requestCode){
userMicrophonePermissionAgreeCode -> {
if( grantResults[0] == PackageManager.PERMISSION_GRANTED )
Log.i(tag,"Agree microphone permission")
else
Log.i(tag,"Not agree microphone permission")
}
}
}
}