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