iOS/Android設定画面の各アプリの画面から独自の設定やライセンス表示をするには?
iOS/Android において、変更頻度の低いアプリの設定や、直接ユーザーには関係のないライセンス表示のような画面は、アプリの中から遷移させる必要性は薄いですし、その遷移のためのボタンの領域を確保するのはもったいないですよね。
ということで、各OSの設定画面にあるアプリ情報の画面でそれを行う方法をまとめます。
iOS
iOS では Settings.bundle を用いることで iOS設定画面の各アプリの画面でそのアプリの設定項目を表示することができます。
アプリの設定
アプリの設定項目を Settings.bundle として定義しておくだけです。ここで設定された項目はアプリからは UserDefaults により取得できるようになります。詳細は公式ドキュメントを読みましょう!
Preferences and Settings Programming Guide / Implementing an iOS Settings Bundle
ライセンス表示
LicensePlist を使いましょう!
CocoaPods や Carthage でインストールしたライブラリからライセンス一覧を生成して Settings.bundle への組み込みまで自動でやってくれます。
Android
Android N 以降限定ですが、マニフェストファイル中の Activity の Intent Filter に ACTION_APPLICATION_PREFERENCES を追加することで、Android 設定画面のアプリ情報画面にその Activity への導線が表示されるようになります。
<activity android:name=".SettingActivity">
<intent-filter>
<action android:name="android.intent.action.APPLICATION_PREFERENCES" />
</intent-filter>
</activity>
アプリの設定
Android Jetpack の Preference 機能を使うことで、XML でアプリの設定項目を定義するだけで設定画面を構築することができます。ここで設定された項目はアプリからは SharedPreferences により取得できるようになります。詳細は公式ドキュメントを読みましょう!
Android Developers / Android Jetpack / 設定
ライセンス表示
com.google.gms:oss-licenses を使いましょう!これによりアプリが依存しているライブラリのライセンス情報を取得し、それを OssLicensesMenuActivity
で表示することができます。
上記の Preference 機能では設定項目からインテントを投げるアクションも定義できるので、そこから OssLicensesMenuActivity
を開くと良さそうです。
Author And Source
この問題について(iOS/Android設定画面の各アプリの画面から独自の設定やライセンス表示をするには?), 我々は、より多くの情報をここで見つけました https://qiita.com/temoki/items/41a4917b7c56002857f3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .