PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile (versiones precedentes) → [ WM28]Crash avec Albumselecteur, photolanceappli et champ editeur image Android 14
[ WM28]Crash avec Albumselecteur, photolanceappli et champ editeur image Android 14
Iniciado por Alexandre, 20,jul. 2024 10:28 - 3 respuestas
Publicado el 20,julio 2024 - 10:28
Bonjour,
Depuis la nécessité d'avoir un targetversion 34 dans le graddle (obligation de google si on publie sur le playstore).
les fonctions natives d'accès aux photos ne fonctionnent plus et on a droit à un jolie crash de l'appli avec ce message :
One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts


Si on change le target version en 33, tout va bien...mais passé le 31Aout 2024, aucune publication de mises à jour de l' appli ne sera acceptée.


Avez vous un idée sur comment contourné ce problème parce que là, c'est franchement nébuleux.

Merci
Miembro registrado
8 mensajes
Publicado el 24,julio 2024 - 14:47
Désolé pour le sujet doublon....

Je suis en cours de test mais avec un photo picker codé en Java, ça semble fonctionner; dès que mes tests sont ok, je post le code.
Miembro registrado
3.434 mensajes
Popularité : +93 (137 votes)
Publicado el 25,julio 2024 - 07:59
Salut
J'avais eu ce souci déjà avec la wm20, j'avais à l'époque fait mon propre système de choix d'image
https://depot.pcsoft.fr/resource.awp…
Miembro registrado
8 mensajes
Publicado el 27,julio 2024 - 20:27
Oui Popoy (au passage merci :merci:,) j'utilise ton code pour une autre partie mais, il est vrai que cela pose certains problèmes de lenteur suivant le périphérique Android.

Alors, voici comment je réalise mon photo picker (en fait je fais appel à celui d'android) compatible Android 14 sous Windev Mobile 28 (target version 34)

Pour mon cas, je n'ai besoin que d'une photo mais, il me semble avoir vu un code pour pouvoir sélectionner plusieurs photos.

Créer 1 procédure java : ouvrirGalerie()

import android.app.Activity;
import android.content.Intent;
import android.content.Context;
import android.net.Uri;
// Procédure pour lancer l'intent de sélection de photo
public static void ouvrirGalerie() 
{
    Intent intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
Activity MyActivity = getActiviteEnCours();    
    MyActivity.startActivityForResult(intent, 1); //PICK_IMAGE_REQUEST
}


Créer 1 procédure WL : GET_ACTIVITE (permet d'alimenter la variable globale img_uri )

Procedure GET_ACTIVITE(resultCode,requestCode,URI,extras)

img_uri = URI


Créer 1 procédure WL (qui va permettre juste d'alimenter la variable image)

CHARGE_IMG(bResultat, buffer, sFormat)

var_image est une Image = dChargeImage(buffer) //variable image ou champ image


Dans le code principal WL, on fait cela

ouvrirGalerie()

//** OK, ce tantque est bofbof mais, sans faire cela, la variable img_uri (déclarer en global pour mon cas) n'est pas alimenter //assez vite, comme si AndroidActivityResultProcédure avait un temps de réponse.......
AndroidActivityResultProcédure(GET_ACTIVITE)
TANTQUE Taille(img_uri)<=0
Multitâche(-1)
FIN

sTypeMIME est une chaîne = URIRécupèreInfo(img_uri, uriInfoTypeConversion)
URIVersBuffer(img_uri,CHARGE_IMG, sTypeMIME)
VariableRAZ(img_uri)
Mensaje modificado, 27,julio 2024 - 20:27