🗂
[Android][Kotlin]初回起動を判別するサンプルコード
今回のコードはココ↓
Abstruct
- Androidのアプリ開発で、初回起動を判別するコード
- とその説明
背景
Androidでアプリ開発してると権限まわりのコーディングが発生することがあって。
でそうするとshouldShowRequestPermissionRationale()※なげー! って関数を使うことになるんだけど、これだけじゃ不十分で、初回起動の判定を実装する必要がある。
プリファレンスで出来るやんねって思って実装したら、それが罠でPixel 4aだとバックアップの影響とかで期待の動作をしてくれない。ホントGoogleさんー orz
結果: noBackupFileDirってのがあるらしくって、そこに判別ファイルを生成する形で実装した。
実装
初回起動時は判別ファイルがないので初回起動と判断し、判別ファイル生成。
2回目以降は判別ファイルがあるので2回目以降と判別できた。
private fun isFirstLaunch(context: Context): Boolean {
val markerFile = File(context.noBackupFilesDir, "first_launch_marker")
return if (markerFile.exists()) {
false // Already launched
} else {
markerFile.createNewFile() // First launch, so create marker file
true
}
}
ふぃー。
Discussion