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

[Android のアプリ情報を開く](https://qiita.com/CYonezawa/items/75d37b9065b1e2a4ceb1) で ACTION_APPLICATION_DETAILS_SETTINGS インテントアクションを使って、アプリ情報の設定画面を開くコードを書きました
他にも Android のインテントアクションはありますので、開く画面のスクリーンショットと、Delphi のコードと合わせて紹介します

[Android のインテントアクションと開く画面 - その 1](https://qiita.com/CYonezawa/items/0a5bbdb2523e736bef3a)
[Android のインテントアクションと開く画面 - その 2](https://qiita.com/CYonezawa/items/2141c329dd1dacca1052)
[Android のインテントアクションと開く画面 - その 3](https://qiita.com/CYonezawa/items/d68a960d65080813693e)
[Android のインテントアクションと開く画面 - その 4](https://qiita.com/CYonezawa/items/7bd18ce521de1a5709de)
[Android のインテントアクションと開く画面 - その 5](https://qiita.com/CYonezawa/items/9019ad33e4e913d230c9)

# Android Developer のドキュメント

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

# ACTION_USAGE_ACCESS_SETTINGS

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

```delphi
// 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](https://qiita-image-store.s3.amazonaws.com/0/164551/bbce3f2f-a83f-68a8-4f34-c5fc5d587568.png)


# ACTION_USER_DICTIONARY_SETTINGS

単語リスト設定画面

```delphi
// 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](https://qiita-image-store.s3.amazonaws.com/0/164551/811ef3e2-5299-ec58-1a64-9359d1622457.png)


# ACTION_VOICE_CONTROL_AIRPLANE_MODE

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

```delphi
// 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 が無い
コードは次のようになったはず

```delphi
// 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 が無い
コードは次のようになったはず

```delphi
// 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

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

```delphi
// 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](https://qiita-image-store.s3.amazonaws.com/0/164551/c82c018f-17ba-fda2-b74d-4dc00f248b44.png)

# ACTION_WIFI_IP_SETTINGS

IP 設定画面

```delphi
// 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](https://qiita-image-store.s3.amazonaws.com/0/164551/a62c895b-5465-cdbd-5d5c-50c13e412927.png)

# ACTION_WIFI_SETTINGS

Wi-Fi 設定画面

```delphi
// 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](https://qiita-image-store.s3.amazonaws.com/0/164551/bd73a85f-637c-916c-b72b-19301f8a3784.png)


# ACTION_WIRELESS_SETTINGS

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

```delphi
// 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](https://qiita-image-store.s3.amazonaws.com/0/164551/dfd46d38-d48e-6faf-19eb-0f37a9be9849.png)


### 余談 ( ぼやき )
Level 23 以上の API 実そ....