PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV (versões anteriores) → BroadCast Receiver dans une app Windev mobile (BroadCast envoyé depuis Android)
BroadCast Receiver dans une app Windev mobile (BroadCast envoyé depuis Android)
Iniciado por Pch, jan., 12 2021 1:31 PM - 1 resposta
Membro registado
5 mensagems
Publicado em janeiro, 12 2021 - 1:31 PM
Bonjour,
J'arrive à envoyer un "Broadcast" depuis une appli Android et à le recevoir dans une autre appli android sur un mobile Android.
Mais je n'arrive pas à le recevoir dans une appli Windev...
En gros, je ne sais pas comment créer le Broadcast Receiver qui ... recoive...

Après de multiples tentatives, j'en suis là :

I./ appli WINDEV "mon_projet" avec package "com.masociete"

J'ai créé la procédure globale en Java suivante (avec enregistrement du "Receiver", qui n'est donc pas présent dans le manifeste et affichage du BroadCast si reçu dans un libellé):

import android.content.Intent;
import android.content.Context;
import android.content.BroadcastReceiver;
import android.widget.Toast;
import android.widget.TextView;
import android.content.IntentFilter;
import android.os.Bundle;
import android.provider.Settings;

public static void LitRec(String Libelle) {
contentTxt2 = (TextView) getView(Libelle);
// pour montrer init et ca init bien
contentTxt2.setText("MyRec1");  
// enregistrer le receiver
getContexteApplication().registerReceiver(MyReceiver, new IntentFilter("DATA"));
}

static TextView contentTxt2;
static BroadcastReceiver MyReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
String temp= intent.getStringExtra("Data");
contentTxt2.setText("MyRec2"+temp);
}
};


Ça compile sous windev26, ça charge, ça s’exécute mais le "MyReceiver " ne s'enclenche jamais...



II./ l'appli Android fonctionne ainsi :

final Intent intent = new Intent();
intent.setAction("DATA");
        intent.setPackage("com.masociete");
        intent.putExtra("Data", "blablabla data data");
        intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
        intent.setComponent(new ComponentName("com.masociete.mon_projet.wdgen", ".MyReceiver"));
        mContext.sendBroadcast(intent);



Je pense que le pb résulte dans ComponentName (en android pur c'est facile, en Windev, je connais pas et j'ai essayé plein de possibilités ?????)

Donc, quelqu'un est il déjà arrivé à communiquer d'une appli android à une appli windev mobile via broadcast Receiver?
J'ai parcouru les forums sans succès à présent..
Merci.

Pch
Membro registado
5 mensagems
Publicado em janeiro, 12 2021 - 1:41 PM
Hoops, désolé, c'est plutôt pour le forum Windev Mobile..
Pch