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