RxPermissionsを使ってRuntime Permissionをリクエストする
面倒くさいRuntime Permissionの実装ですが、RxPermissionsというライブラリを使うと楽ができていい感じです。
プロジェクトレベルの build.gradle
にJitPackのリポジトリを追加します。
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
アプリレベルの build.gradle
にRxJavaとRxPermissionsを追加します。
dependencies {
// RxJava
implementation 'io.reactivex.rxjava2:rxjava:2.2.13'
// RxPermissions
implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
}
AndroidManifest.xmlにパーミッションを追加します。
<uses-permission android:name="android.permission.CAMERA" />
RxPermissionsによるRuntime Permissionの実装は簡単です。以下はFragmentでの実装になります。
val rxPermissions = RxPermissions(this)
rxPermissions
.request(Manifest.permission.CAMERA)
.subscribe { granted ->
if (granted) {
// permission granted
} else {
// permission denied
}
}
About me 😎

茨城県つくば市在住のソフトウェアエンジニアです。専門領域はAndroidアプリ開発で、特にアーキテクチャに興味があります。某社でAndroidアプリ開発のテックリードをしています。
Jetpack ComposeによるAndroid MVVMアーキテクチャ入門の著者です。
👉 もっと詳しく
Writing 📝
Android MVVMアーキテクチャ入門
Androidアプリ開発の初学者に向けた、MVVM(Model-View-ViewModel)アーキテクチャの入門書を書きました。初学者の方を確実にネクストレベルに引き上げる技術書です。
👉 もっと詳しく