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


有个需求,想判断手机里是否安装指定的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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM