Android
Delphi
FMX
FireMonkey

Android のインテントアクションと開く画面 - その 6

Android のアプリ情報を開く で ACTION_APPLICATION_DETAILS_SETTINGS インテントアクションを使って、アプリ情報の設定画面を開くコードを書きました
他にも Android のインテントアクションはありますので、開く画面のスクリーンショットと、Delphi のコードと合わせて紹介します

Android のインテントアクションと開く画面 - その 1
Android のインテントアクションと開く画面 - その 2
Android のインテントアクションと開く画面 - その 3
Android のインテントアクションと開く画面 - その 4
Android のインテントアクションと開く画面 - その 5

Android Developer のドキュメント

詳しい情報は
https://developer.android.com/reference/android/provider/Settings.html
にあります

ACTION_USAGE_ACCESS_SETTINGS

使用履歴にアクセスできるアプリ設定画面

// uses に Androidapi.Helpers, Androidapi.JNI.APP, Androidapi.JNI.Provider
//         Androidapi.JNI.GrapicsContentViewText を追加します
// インテントは Intent: JIntent; で定義しています

// 目的のインテントアクションのインテントを作成します
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_USAGE_ACCESS_SETTINGS);

// startActivity を使ってインテントを飛ばします。
TAndroidHelper.Activity.startActivity(Intent);

Screenshot_20180206-102923.png

ACTION_USER_DICTIONARY_SETTINGS

単語リスト設定画面

// uses に Androidapi.Helpers, Androidapi.JNI.APP, Androidapi.JNI.Provider
//         Androidapi.JNI.GrapicsContentViewText を追加します
// インテントは Intent: JIntent; で定義しています

// 目的のインテントアクションのインテントを作成します
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_USER_DICTIONARY_SETTINGS);

// startActivity を使ってインテントを飛ばします。
TAndroidHelper.Activity.startActivity(Intent);

Screenshot_20180206-102928.png

ACTION_VOICE_CONTROL_AIRPLANE_MODE

startVoiceActivity でインテントを飛ばす必要があるのですが、肝心の startVoiceActivity が無い
コードは次のようになったはず

// uses に Androidapi.Helpers, Androidapi.JNI.APP, Androidapi.JNI.Provider
//         Androidapi.JNI.GrapicsContentViewText を追加します
// インテントは Intent: JIntent; で定義しています

// 目的のインテントアクションのインテントを作成します
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_VOICE_CONTROL_AIRPLANE_MODE);
Intent.putExtra(TJSettings.JavaClass.EXTRA_AIRPLANE_MODE_ENABLED, True);

// startVoiceActivity を使ってインテントを飛ばします。
TAndroidHelper.Activity.startVoiceActivity(Intent);

ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE

startVoiceActivity でインテントを飛ばす必要があるのですが、肝心の startVoiceActivity が無い
コードは次のようになったはず

// uses に Androidapi.Helpers, Androidapi.JNI.APP, Androidapi.JNI.Provider
//         Androidapi.JNI.GrapicsContentViewText を追加します
// インテントは Intent: JIntent; で定義しています

// 目的のインテントアクションのインテントを作成します
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_VOICE_CONTROL_BATTERY_SAVER_MODE);
Intent.putExtra(TJSettings.JavaClass.EXTRA_BATTERY_SAVER_MODE_ENABLED, True);

// startVoiceActivity を使ってインテントを飛ばします。
TAndroidHelper.Activity.startVoiceActivity(Intent);

ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE

startVoiceActivity でインテントを飛ばす必要があるのですが、肝心の startVoiceActivity が無い
コードは次のようになったはず

// uses に Androidapi.Helpers, Androidapi.JNI.APP, Androidapi.JNI.Provider
//         Androidapi.JNI.GrapicsContentViewText を追加します
// インテントは Intent: JIntent; で定義しています

// 目的のインテントアクションのインテントを作成します
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_VOICE_CONTROL_DO_NOT_DISTURB_MODE);
Intent.putExtra(TJSettings.JavaClass.EXTRA_VOICE_CONTROL_DO_NOT_DISTURB_MODE_ENABLED, True);

// startVoiceActivity を使ってインテントを飛ばします。
TAndroidHelper.Activity.startVoiceActivity(Intent);

ACTION_VOICE_INPUT_SETTINGS

アシストと音声入力設定画面

// uses に Androidapi.Helpers, Androidapi.JNI.APP, Androidapi.JNI.Provider
//         Androidapi.JNI.GrapicsContentViewText を追加します
// インテントは Intent: JIntent; で定義しています

// 目的のインテントアクションのインテントを作成します
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_VOICE_INPUT_SETTINGS);

// startActivity を使ってインテントを飛ばします。
TAndroidHelper.Activity.startActivity(Intent);

Screenshot_20180206-102955.png

ACTION_WIFI_IP_SETTINGS

IP 設定画面

// uses に Androidapi.Helpers, Androidapi.JNI.APP, Androidapi.JNI.Provider
//         Androidapi.JNI.GrapicsContentViewText を追加します
// インテントは Intent: JIntent; で定義しています

// 目的のインテントアクションのインテントを作成します
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_WIFI_IP_SETTINGS);

// startActivity を使ってインテントを飛ばします。
TAndroidHelper.Activity.startActivity(Intent);

Screenshot_20180206-102959.png

ACTION_WIFI_SETTINGS

Wi-Fi 設定画面

// uses に Androidapi.Helpers, Androidapi.JNI.APP, Androidapi.JNI.Provider
//         Androidapi.JNI.GrapicsContentViewText を追加します
// インテントは Intent: JIntent; で定義しています

// 目的のインテントアクションのインテントを作成します
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_WIFI_SETTINGS);

// startActivity を使ってインテントを飛ばします。
TAndroidHelper.Activity.startActivity(Intent);

Screenshot_20180206-103005.png

ACTION_WIRELESS_SETTINGS

無線とネットワーク設定画面

// uses に Androidapi.Helpers, Androidapi.JNI.APP, Androidapi.JNI.Provider
//         Androidapi.JNI.GrapicsContentViewText を追加します
// インテントは Intent: JIntent; で定義しています

// 目的のインテントアクションのインテントを作成します
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_WIRELESS_SETTINGS);

// startActivity を使ってインテントを飛ばします。
TAndroidHelper.Activity.startActivity(Intent);

Screenshot_20180206-103011.png

余談 ( ぼやき )

Level 23 以上の API 実そ....