前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

Android 3.6でビルドエラー

課題

Android3.6がβ版に昇格していたのでアップデートして起動したところ、Gradleのアップデート案内が通知されたので更新したらビルドが通らなくなった。 Gradle Pluginのバージョンを上げたのが原因らしい。

対応

とりあえず app/build.gradle の設定を順にコメントアウトしていったら testBuildType を外した時点でビルドが通った。 なので以下の行を削除して対応。

android {
        ...
        testBuildType "staging"
    }

必要になったらまた考えよう。

FragmentStatePagerAdapter

FragmentStatePagerAdapter(fm: FragmentManager)がdeprecatedになってた。
第2引数に BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENTBEHAVIOR_SET_USER_VISIBLE_HINT
指定するらしいんだけれども BEHAVIOR_SET_USER_VISIBLE_HINT もdeprecatedになってる。
なので BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT の1択っぽい。

これを採用すると、ViewPager上、ユーザーに見えてるページ以外はonStartまでで停止し、onResumeが呼ばれなくなる。 なのでonResumeのタイミングでPVイベントなどを発行することができる。 これまでページ変更イベントを拾って面倒な処理書いてたのが簡略化できそう。

Android 10 AppTask.moveToFrontが機能しない?

課題

ActivityManager.AppTask.moveToFront()メソッドは現在とは起動中のTaskをForegroundに持ってくるためのメソッド。 これがAndroid 10で機能しなくなっているかもしれない。 全くだめというよりは、うまく前に来ないような。すでに先頭にいるという扱いになってしまっているのかも? ジェスチャーナビゲーションの影響だろうか。

対応

調査中。