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

时间:2014-01-27 10:21:48

标签: android delphi delphi-xe5

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

2 个答案:

答案 0 :(得分:4)

使用下一个代码:

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;

谢谢

答案 1 :(得分:1)

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

public boolean checkHasFull(){
    try{
        Context foreignContext = createPackageContext("packagename", Context.CONTEXT_IGNORE_SECURITY | Context.CONTEXT_INCLUDE_CODE);
        @SuppressWarnings("unused")
        Class<?> yourClass = foreignContext.getClassLoader().loadClass("packagename.mainclassname");    
        return true;            
    }catch(Exception e){ }
    return false;
}