🗂

[Android][Kotlin]初回起動を判別するサンプルコード

に公開

今回のコードはココ↓
https://github.com/aaaa1597/AndKot-FirstLaunchFlagSample.git

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