3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-02-27

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

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

Android Developer のドキュメント

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

ACTION_MANAGE_ALL_APPLICATIONS_SETTINGS

すべてのアプリ設定画面

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

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

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

Screenshot_20180227-114725.png

ACTION_MANAGE_APPLICATIONS_SETTINGS

アプリ設定画面

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

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

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

Screenshot_20180206-102646.png

ACTION_MANAGE_OVERLAY_PERMISSION

他のアプリの上に重ねて描画できるアプリ設定画面

使用しているデバイスの OSバージョンに注意! 6.0 以降ではないと使用できません。

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

// uri にパッケージ名をセットします
// ここでは getPackageName を使って自分自身のパッケージ名を取得しています
uri := 'package:' + JStringToString(TAndroidHelper.Context.getPackageName);

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

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

Screenshot_20180206-102653.png

ACTION_MANAGE_WRITE_SETTINGS

システム設定を変更できるアプリ設定画面

使用しているデバイスの OSバージョンに注意! 6.0 以降ではないと使用できません。

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

// uri にパッケージ名をセットします
// ここでは getPackageName を使って自分自身のパッケージ名を取得しています
uri := 'package:' + JStringToString(TAndroidHelper.Context.getPackageName);

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

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

Screenshot_20180206-102659.png

ACTION_MEMORY_CARD_SETTINGS

内部ストレージ設定画面

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

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

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

Screenshot_20180206-102706.png

ACTION_NETWORK_OPERATOR_SETTINGS

利用可能なネットワーク設定画面
(インテントアクションを行なうと、利用可能なネットワークを検索し始めます)

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

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

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

Screenshot_20180227-125903.png

ACTION_NFCSHARING_SETTINGS

Android ビーム設定画面

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

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

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

Screenshot_20180206-102730.png

ACTION_NFC_PAYMENT_SETTINGS

タップ&ペイ設定画面

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

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

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

Screenshot_20180206-102736.png

ACTION_NFC_SETTINGS

無線とネットワーク設定画面 ( NFC の箇所 )

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

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

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

Screenshot_20180206-102743.png

ACTION_NOTIFICATION_LISTENER_SETTINGS

通知へのアクセス設定画面

使用しているデバイスの OSバージョンに注意! 5.1 以降ではないと使用できません。

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

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

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

Screenshot_20180206-102749.png

ACTION_NOTIFICATION_POLICY_ACCESS_SETTINGS

[通知を非表示]へのアクセス設定画面
使用しているデバイスの OSバージョンに注意! 6.0 以降ではないと使用できません。

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

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

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

Screenshot_20180206-102754.png

その 5 に続く...

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?