Ver Mensaje Individual
  #16  
Antiguo 29-11-2024
jimbeen jimbeen is offline
Registrado
 
Registrado: nov 2024
Posts: 1
Reputación: 0
jimbeen Va por buen camino
A continuación, te sugiero que añadas una verificación de permisos antes de intentar ejecutar el APK, ya que las versiones más recientes de Android requieren permisos explícitos para realizar acciones como esta. Podrías intentar algo como esto:

pascal
Копировать код
uses
Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes;

procedure TMainForm.EjecutaAPK(sRuta: String);
var
Intent: JIntent;
F: JFile;
begin
if not TAndroidHelper.CheckPermission('android.permission.REQUEST_INSTALL_PACKAGES') then
begin
TAndroidHelper.RequestPermission('android.permission.REQUEST_INSTALL_PACKAGES');
Exit;
end;

Intent := TJIntent.Create;
Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
Intent.setFlags(TJIntent.JavaClass.FLAG_GRANT_READ_URI_PERMISSION);
Intent.setDataAndType(TAndroidHelper.JFileToJURI(TJFile.JavaClass.init(StringToJString(sRuta))), StringToJString('application/vnd.android.package-archive'));

TAndroidHelper.Activity.startActivity(Intent);
end;
Este fragmento primero verifica si tienes el permiso para instalar APKs y, en caso contrario, lo solicita antes de intentar ejecutar la instalación. Asegúrate también de que el APK que estás intentando ejecutar esté en un lugar accesible para la aplicación, como en el almacenamiento interno.

¡Espero que te sirva! ¡Un saludo!
Responder Con Cita