Android 如何检查是否安装了应用程序?
如何检查Android 4.x上是否安装了特定的应用程序?如果已安装,我想从我的应用程序启动它。使用下一个代码: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 :=
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; }