Runtime Permission (Kotlin 버전)
16 Aug 2019 | Android기존에 Java 버전의 Runtime Permission을 포스팅 했었지만 이번에는 Kotlin 버전으로 포스팅합니다.
private const val PERMISSION_REQUEST_CODE = 1231 class MainActivity : AppCompatActivity() { private val permissions = arrayOf( Manifest.permission.WRITE_EXTERNAL_STORAGE ) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) if (!checkPermissions(permissions)) { requestPermissions(permissions, PERMISSION_REQUEST_CODE) } } private fun checkPermissions(permissions: Array<String>): Boolean { for (permission in permissions) { if (checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) { return false } } return true } override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { super.onRequestPermissionsResult(requestCode, permissions, grantResults) when (requestCode) { PERMISSION_REQUEST_CODE -> { if ((grantResults.isNotEmpty()) && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) { } else { Toast.makeText(applicationContext, "Permission is not granted.", Toast.LENGTH_SHORT).show() } } } } }