Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何检查是否安装了应用程序?_Android_Delphi_Delphi Xe5 - Fatal编程技术网

Android 如何检查是否安装了应用程序?

Android 如何检查是否安装了应用程序?,android,delphi,delphi-xe5,Android,Delphi,Delphi Xe5,如何检查Android 4.x上是否安装了特定的应用程序?如果已安装,我想从我的应用程序启动它。使用下一个代码: uses FMX.Helpers.Android, Androidapi.JNI.GraphicsContentViewText; function IsAppInstalled(const AAppName: string): Boolean; var PackageManager: JPackageManager; begin PackageManager :=

如何检查Android 4.x上是否安装了特定的应用程序?如果已安装,我想从我的应用程序启动它。

使用下一个代码:

uses
  FMX.Helpers.Android, Androidapi.JNI.GraphicsContentViewText;


function IsAppInstalled(const AAppName: string): Boolean;
var
  PackageManager: JPackageManager;
begin
  PackageManager := SharedActivity.getPackageManager;
  try
    PackageManager.getPackageInfo(StringToJString(AAppName), TJPackageManager.JavaClass.GET_ACTIVITIES);
    Result := True;
  except
    on Ex: Exception do
      Result := False;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Label1.Text :=  BoolToStr(IsAppInstalled('com.embarcadero.Project12'), True);
end;
谢谢

使用下一个代码:

uses
  FMX.Helpers.Android, Androidapi.JNI.GraphicsContentViewText;


function IsAppInstalled(const AAppName: string): Boolean;
var
  PackageManager: JPackageManager;
begin
  PackageManager := SharedActivity.getPackageManager;
  try
    PackageManager.getPackageInfo(StringToJString(AAppName), TJPackageManager.JavaClass.GET_ACTIVITIES);
    Result := True;
  except
    on Ex: Exception do
      Result := False;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Label1.Text :=  BoolToStr(IsAppInstalled('com.embarcadero.Project12'), True);
end;

谢谢

从2.1版开始,如果有帮助,我就使用它

公共布尔校验hasfull{ 试一试{ Context foreignContext=createPackageContextpackagename,Context.Context_IGNORE_SECURITY | Context.Context_INCLUDE_CODE; @抑制未使用的警告 Class yourClass=foreignContext.getClassLoader.loadClasspackagename.mainclassname; 返回true; }捕获异常{} 返回false; }
如果从2.1版开始有帮助,我就使用它

公共布尔校验hasfull{ 试一试{ Context foreignContext=createPackageContextpackagename,Context.Context_IGNORE_SECURITY | Context.Context_INCLUDE_CODE; @抑制未使用的警告 Class yourClass=foreignContext.getClassLoader.loadClasspackagename.mainclassname; 返回true; }捕获异常{} 返回false; }