频道分类

Delphi android 按包名判断是否安装了App

作者:admin 来源: 日期:2020/3/23 21:25:59 人气: 标签:

 
有个需求,想判断手机里是否安装指定的app,没找到现成的代码,参考Delphi代码实现了一个,当返回空串时,表示没有安装app。

function GetVersionString(APackageName:string): string;
//uses Androidapi.JNI.GraphicsContentViewText,Androidapi.Helpers,androidapi.jni.javatypes;
var
  PackageInfo: JPackageInfo;
  PackageManager: JPackageManager;
  AppContext: JContext;
begin
  AppContext := TAndroidHelper.Context;
  if AppContext <> nil then
  begin
    PackageManager := AppContext.getPackageManager;
    if PackageManager <> nil then
    begin
      try
        PackageInfo := AppContext.getPackageManager.getPackageInfo(StringToJString(APackageName), 0);
      except
        Exit(string.Empty);
      end;

      if PackageInfo <> nil then
         Exit(JStringToString(PackageInfo.versionName));

    end;
  end;
  Result := string.Empty;
end;

调用代码:

if GetVersionString('com.kinglandsoft.xmyt')='' then
begin
//没有安装app
...
end

https://www.cnblogs.com/kinglandsoft/p/12389276.html

上一篇:Delphi TButton.OnClick 匿名函数用法下一篇:没有资料