Settings.Panelをなんとなくバックポートして利用するライブラリを作りました

github.com

Jitpackで配信しています。 バグ(とは言ってもAndroidQ自体がまだ正式リリースされていないけれど)や考慮不足な点があれば、ドシドシご指摘いただければ。

やったこと

developer.android.com

Android Qより追加されたアプリ内で設定項目を呼び出すことができる Settings.Panel ですが、Android Q未満では利用できません。 そのため、簡単ではありますがバージョン判定を行う必要があります。

そこで、簡易的にバージョン判定を行い下記の動作を行うライブラリを作りました。

  • Android Q以上 : Settings.Panel
  • Android Q未満 : Settingsの関連するActivity

使い方

Jitpackで配信しているので、そちらから依存関係を解決してください。

EasySettingsPanel.openWifiPanel(context)

4種類のSettings.Panelに対応するメソッドが EasySettingsPanel オブジェクトに追加してあります。 ACTION_INTERNET_CONNECTIVITY だけはちょうど対応する設定項目がなかったため、バックポートする際に表示したい画面を(ある程度)選べるようになっています。

Activityが設定にない可能性がある、もしくはNFCのように利用できない端末があるため、メソッド呼び出し前や呼び出しを try-catch で括ることをお勧めします。

感想

Settings.Panelは呼び出した時の動きも滑らかですし、対応してくれる項目が増えると嬉しいです。 Android Qの正式リリースが楽しみです。