Hola,
turbopascual5.0.
Voy a ponerme manos a la obra.
Si tardo en responder es que estoy haciendo pruebas.
Me dices que no tienes SD en tus terminales.
MI App está orientada justo a tarjetas de memoria (aunque también puede funcionar sin ellas)
En realidad tengo dos problemas:
1.- La subida a Play Store.
2.- Los permisos para el uso de la SD
Si instalo en mis terminales laTableta 4.4, Telef 4.1.2 y telef 7.1.1 (los números son las versiones Android). Digo, si instalo desde el IDE con
android:targetSdkVersion por defecto funciona en todos.
Si cambio la versión en el Manifest funciona en los antiguos pero en el nuevo (7.1.1) me da error de escritura en la SD. Parece ser que las nuevas versiones de Android son más restrictivas con los permisos y por ahí van los tiros en Play Store.
Utilizo un control para saberlo y está confirmado.
Tengo a True en el Uses Permision del Project/Options.
Código Delphi
[-]
function CheckPermission(const APermissionName: string): Boolean;
var
PackageName: JString;
begin
Result := False;
PackageName := TAndroidHelper.Context.getPackageName;
Result := TAndroidHelper.Context.getPackageManager.checkPermission(StringToJString(APermissionName), PackageName) = TJPackageManager.JavaClass.PERMISSION_GRANTED;
end;
function CanWriteExterStorage: Boolean;
begin
Result := False;
Result := CheckPermission(C_android_permission_EXTERNAL_STORAGE);
end;
function TForm1.CheckCanWriteExterStorage: Boolean;
begin
{$IFDEF ANDROID}
Result := False;
if not CanWriteExterStorage then
begin
if not (CheckPermission(C_android_permission_EXTERNAL_STORAGE)) then
begin
ShowMessage(' "WRITE_EXTERNAL_STORAGE" no es "True"');
Sleep(5000);
exit;
end;
end;
{$ENDIF}
Result := True;
end;
Está confirmado. Sigo peleando. Ya contaré.
Bueno, no me quedó claro dónde cambias los permisos, en el terminal o al subir a Play Store.
Saludos cordiales.