Android のアプリから、アプリ情報の画面を開くことができます。
詳しくはここを見てくださいませ。
https://developer.android.com/reference/android/provider/Settings.html
インテントで、ACTION_APPLICATION_DETAILS_SETTINGS と package: という文字列にアプリのパッケージ名を連結したものを渡すと開きます。
package: の文字列と連結するのは自分自身でも良いし、別のアプリのパッケージ名を指定すれば、そのアプリの設定画面を開くこともできます。
サンプルコード
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Controls.Presentation,
Androidapi.Jni, Androidapi.JNI.JavaTypes, Androidapi.Helpers, Androidapi.JNIBridge,
Androidapi.JNI.Util, Androidapi.JNI.GraphicsContentViewText, Androidapi.Jni.Provider,
Androidapi.Jni.Net, Androidapi.Jni.App
;
type
TForm1 = class(TForm)
ToolBar1: TToolBar;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ private 宣言 }
public
{ public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.Button1Click(Sender: TObject);
var
Intent: JIntent; // インテント
uri: string; // URI package: + パッケージ名
begin
// 自分自身のパッケージ名を取得するには TAndroidHelper.Context.getPackageName を使用します
// IDE のメニューから、プロジェクト|オプションで、バージョン情報を開き、package キーに指定された名前が取得されます
// デフォルトだと com.embarcadero.プロジェクト名です
// ACTION_APPLICATION_DETAILS_SETTINGS を使う際には
// package: の文字列の後に、取得したパッケージ名を連結したものを送る必要があります
// パッケージ名ですが、デバイスにインストールされているアプリのパッケージ名を指定すると
// 指定されたアプリのアプリ情報画面を出すことができます
uri := 'package:' + JStringToString(TAndroidHelper.Context.getPackageName);
Intent := TJIntent.JavaClass.init(TJSettings.JavaClass.ACTION_APPLICATION_DETAILS_SETTINGS, StrToJURI(uri));
// startActivity を使ってインテントを飛ばして、アプリ情報の画面を開きます
TAndroidHelper.Activity.startActivity(Intent);
end;
end.