PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Echec avec code ussd telDialcompose n'affiche pas le '#'
Echec avec code ussd telDialcompose n'affiche pas le '#'
Started by Bach BACH ( bach ), Feb., 19 2015 5:06 PM - 19 replies
Registered member
22 messages
Posted on February, 19 2015 - 5:06 PM
Bonjour,

merci de bien nous assister pour affricher le code ussd avec WinDev mobile.

le '#' ne s'affiche pas !

exemple :*100# mais a l'exécution j'ai toujours *100

j'utilise la version 18 avec la dernière mise à jour.
Posted on February, 20 2015 - 10:21 AM
J'ai le même problème
Registered member
22 messages
Posted on February, 20 2015 - 11:06 AM
Ya t'il quelqu'un pour nous aider?
moi j'ai meme essayer de le convertir en ASCII :
TelDialerCompose("*100"+Caract(35))
mais jusque la à l'execusion ça me donne : *100
Registered member
945 messages
Popularité : +102 (110 votes)
Posted on February, 25 2015 - 3:48 PM
Bonjour,
Essayez avec cette petite procédure java directement dans votre projet windev
import android.content.Intent;
import android.view.View;
import android.net.Uri;
import android.app.Activity;

PUBLIC static void CallUSSD()
{
string prefix = "*" // si cela ne fonctionne pas avec "*" essayez en mettant Uri.encode("*");
string suffix = Uri.encode("#");
string ussd = prefix + "100" + suffix;

Intent intcall = new Intent(Intent.ACTION_CALL);
intcall.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intcall.setData(Uri.parse("tel:" + ussd));
getContexteApplication().startActivity(intcall);
}
Registered member
22 messages
Posted on February, 25 2015 - 7:15 PM
Bonjour Philippe PASQUALI,
merci ! mais je n'arive pas a l'apeller!
j'ai essayer avec
appelProcedureWL_String() ça ne marche pas!
executetraitement ça ne marche pas!
execute ça ne marche pas!
Registered member
945 messages
Popularité : +102 (110 votes)
Posted on February, 25 2015 - 7:53 PM
bonjour,
si vous l'avez bien mise comme une procédure de votre projet vous faite comme pour une procédure écrite en wLangage et dans ce cas c'est :
CallUSSD()
Registered member
22 messages
Posted on February, 26 2015 - 9:14 AM
Olala!
lors de la génération à 74% voila l'erreur qui s'affiche :
Echec de la création de l'application Android <C:\Mes Projets Mobile\SWITCH ON\Exe\Application Android\Forfaits.apk>.


Ligne de commande : "C:\Program Files\Java\jdk1.8.0_25\bin\javac.exe" -encoding UTF-16LE -nowarn -source 1.5 -target 1.5 -d bin\classes -bootclasspath "C:\android\platforms\android-4\android.jar" gen\com\masociete\switch_on\*.java src\com\masociete\switch_on\wdgen\*.java -classpath "libs;libs\android-support-v4.jar"


Erreur retournée :
src\com\masociete\switch_on\wdgen\GWDCPCOL_ApUSSD.java:32: error: cannot find symbol
string prefix = "*"; // si cela ne fonctionne pas avec "*" essayez en mettant Uri.encode("*");
^
symbol: class string
location: class GWDCPCOL_ApUSSD
src\com\masociete\switch_on\wdgen\GWDCPCOL_ApUSSD.java:33: error: cannot find symbol
string suffix = Uri.encode("#");
^
symbol: class string
location: class GWDCPCOL_ApUSSD
src\com\masociete\switch_on\wdgen\GWDCPCOL_ApUSSD.java:34: error: cannot find symbol
string ussd = prefix + "100" + suffix;
^
symbol: class string
location: class GWDCPCOL_ApUSSD
3 errors
Registered member
22 messages
Posted on February, 26 2015 - 10:58 AM
Je suis perdu !
Posted on February, 26 2015 - 12:57 PM
bonjour
votre procédure est bien mise en tant que "Java" et pas "WL" ?

Désolé mais en ce momentt le forum ne me permet pas de joindre une copie d'écran (et sous firefox je n'arrive même plus à me logger)

Quand vous éditez le code de la fonction, sur le bandeau (la ou il y a en autre chose "Si erreur : par programme") vous devez avoir complétement à gauche "Java" et si ce n'est pas le cas et que vous avez "WL" alors cliquez (gauche) une fois sur "WL" pour faire apparaitre "Java", supprimez tout ce que l'éditeur à mis et collez le code
Posted on February, 26 2015 - 3:11 PM
Bonjour BACH, ne sois pas perdu.
Faut remplacer les "string" par "String"
et tu mets un ; à cette ligne string prefix = "*";

Bonne chance

Cdt.
Posted on February, 26 2015 - 3:13 PM
Voici la version corrigée.
En java c'est "String" et non "string".

--------------------------------------
import android.content.Intent;
import android.view.View;
import android.net.Uri;
import android.app.Activity;

public static void CallUSSD()
{
String prefix = "*"; // si cela ne fonctionne pas avec "*" essayez en mettant Uri.encode("*");
String suffix = Uri.encode("#");
String ussd = prefix + "100" + suffix;

Intent intcall = new Intent(Intent.ACTION_CALL);
intcall.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intcall.setData(Uri.parse("tel:" + ussd));
getContexteApplication().startActivity(intcall);
}
---------------------------------------

Bonne chance.

Cdt.
Posted on February, 26 2015 - 4:10 PM
Merci Philippe PASQUALI pour le code.

Cdt.
Registered member
22 messages
Posted on February, 26 2015 - 4:35 PM
Merci Philippe PASQUALI ça marche !
merci aussi JMAK c'est génial !!!!
Registered member
22 messages
Posted on February, 27 2015 - 4:46 PM
Bonjour,
j'arrive a appeler le menu du ussd exemple a l’exécution j'ai :
1.solde
2.Numéro
comment faire pour répondre automatiquement à l'option 1 ou 2 directement par le même bouton.
le code *100*1# n'existe pas . sinon j'allais directement l'inserer dans le code donc il me faut directement répondre.
Merci
Registered member
155 messages
Posted on July, 05 2015 - 12:33 PM
Bonjour,

Tout d'abord merci pour ce code.
Quelqu'un serait-il comment effectuer la numéro automatiquement ? ( sans la fenêtre de confirmation )
Posted on July, 28 2018 - 9:15 PM
Bonsoir, c'est vrai que ce poste date d'il y'a beaucoup.
Je demande l'aide de la communauté
import android.content.Intent;
import android.view.View;
import android.net.Uri;
import android.app.Activity;

PUBLIC static void Transfert_national_mobicash_airtelmoney(string Montant, string Password)
{
string prefix = "*"; // si cela ne fonctionne pas avec "*" essayez en mettant Uri.encode("*");
string suffix = Uri.encode("#");
string code2 = "R";
string code3 = "2401";
string code4 = code2 + code3;
string ussd = prefix + "555" + prefix +"3"+ prefix +"1"+prefix + code2 +prefix+Montant+prefix+Password+suffix;


Intent intcall = new Intent(Intent.ACTION_CALL);
intcall.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intcall.setData(Uri.parse("tel:" + ussd));
getContexteApplication().startActivity(intcall);
}


Lorsque je lance l'appli, le "R" se transforme en "7" je sais pas pourquoi. Si quelqu'un a une idée, thank you d'avance!
Registered member
945 messages
Popularité : +102 (110 votes)
Posted on July, 30 2018 - 12:40 PM
Bonjour
avez vous essayé la suggestion
string prefix = "*"; // si cela ne fonctionne pas avec "*" essayez en mettant Uri.encode("*");
Registered member
4 messages
Posted on July, 30 2018 - 12:54 PM
J'ai essayé avec Uri.encode("R2401") et toujours le "R" en "7".
Posted on August, 11 2020 - 1:34 PM
Je tiens d'abord à vous felicité pour votre volonté de partage et donner solution aux problèmes des autres.Que Dieu vous benisse!!!
Moi egalement j'ai le même souci, mon application vas ececuter le code USSD qui va contenir certaines informations provenant d'un fichier de données. Ex : *100* num_client*SAI_MontUnite*Pin# yes
Je vous remerci.
Posted on August, 12 2020 - 6:38 PM
olivierr a écrit :
Je tiens d'abord à vous felicité pour votre volonté de partage et donner solution aux problèmes des autres.Que Dieu vous benisse!!!
Moi egalement j'ai le même souci, mon application vas executer le code USSD qui va contenir certaines informations provenant d'un fichier de données. Ex : *100*num_client*SAI_MontUnite*Pin# yes
Je vous remerci.