package com.example.user import android.content.pm.PackageManager import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.support.v4.app.ActivityCompat import android.util.Log class MainActivity : AppCompatActivity() { var userMicrophonePermissionAgreeCode = 1 var tag = "MainActivity message" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val agree = ActivityCompat.checkSelfPermission(this@MainActivity.applicationContext, android.Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED if(agree){ Log.i(tag,"Yes, agree!!") }else{ Log.i(tag,"No, go to ask permission!!") ActivityCompat.requestPermissions(this, arrayOf(android.Manifest.permission.CAMERA), userMicrophonePermissionAgreeCode) } Log.i(tag,"Ok, the permission is agree, then you can write some work!!!!") } override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, grantResults: IntArray) { when(requestCode){ userMicrophonePermissionAgreeCode -> { if(grantResults[0]==PackageManager.PERMISSION_GRANTED) Log.i(tag,"Ask and you agree permission") else this.recreate() } } } }