Как я могу проверить, какое конкретное приложение установлено на Android 4.x? Если он установлен, я хочу запустить его из своего приложения.Как проверить, установлено ли приложение?
1
A
ответ
3
Используйте следующий код:
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
Я использую это, если это помогает, начиная с версии 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;
}