[Résolu] Comment exécuter une procédure au lancement de l'Activity ?

  • Auteur de la discussion PhilDeDakar
  • Date de début
P

PhilDeDakar

Membre
Inscrit
4 Mars 2014
Messages
3
Points
0
  • #1
Bonjour,
Le but de ce mini-programme est d'imprimer un fichier sur l'imprimante intégrée au smartphone.
J'ai donc réussi tant bien que mal à modifier le seul exemple de code java en ma possession, pour arriver à faire ce dont j'ai besoin.

Le principe c'est qu'une application A (Écrite en Windev Mobile) génère un fichier texte puis lance l'application B (écrite en java avec Eclipse)
Pour le moment, quant l'application B prend le focus, un bouton apparait.
Quand je clic dessus l'impression se fait et l'Activity est fermée rendant la main à l'application A.
Le process "manuel" fonctionne .

Maintenant j'aimerais ne plus à avoir à cliquer sur ce bouton... et là je sèche lamentablement

J'ai testé l'appel à PrintData()
- après init(); dans le onCreate : rien ne s'imprime, pourtant le fichier à imprimer est bien supprimé et je rend bien la main à l'application A.
- dans onStart : Arrêt brutal de l'application et message : "V5Print" s'est arrêté.

Mes connaissances en java sont plus que limitées...
Merci d'avance à ceux / celles qui m'apporteront leur aide

Code:
S'il vous plaît, Connexion ou S'inscrire to view codes content!
 
P

PhilDeDakar

Membre
Inscrit
4 Mars 2014
Messages
3
Points
0
  • #2
Re: Comment exécuter une procédure au lancement de l'Activity ?

Suite...
Afin de comprendre pourquoi cela ne fonctionnait pas en mettant l'appel à PrintData() à la fin du onCreate(), j'ai mis des Log.d() quasiment à chaque ligne et le résultat donne :
///// AVEC LE BOUTON
D/V5Print (18685): Start of OnCreate()
D/V5Print (18685): Start of init()
D/V5Print (18685): End of init()
D/V5Print (18685): End of OnCreate()
D/V5Print (18685): onServiceConnected()
D/V5Print (18685): woyouService.printerInit
D/V5Print (18685): onReturnString-ICallback--->733
D/V5Print (18685): onRunResult-ICallback--->true
......... Attente du Clic sur le bouton "Print"...........
D/V5Print (18685): Execution de PrintData() dans onClick()
D/V5Print (18685): Start of PrintData()
D/V5Print (18685): echange.txt found.
D/V5Print (18685): OPEN echange.txt
D/V5Print (18685): CLOSE echange.txt
D/V5Print (18685): DELETE echange.txt
D/V5Print (18685): Start of print.
D/V5Print (18685): Ceci est un test...
D/V5Print (18685): Le 28/11/2016
D/V5Print (18685): à 13:13:01
D/V5Print (18685): ligne 01 a A
D/V5Print (18685): ligne 02 b B
D/V5Print (18685): ligne 03 c C
D/V5Print (18685): ligne 04 d D
D/V5Print (18685): ligne 05 e E
D/V5Print (18685): ligne 06 f F
D/V5Print (18685): End of print. Bye Bye

///// AVEC PrintData() à la fin de onCreate()
D/V5Print (18900): Start of OnCreate()
D/V5Print (18900): Start of init()
D/V5Print (18900): End of init()
D/V5Print (18900): Execution de PrintData() dans OnCreate()
D/V5Print (18900): Start of PrintData()
D/V5Print (18900): echange.txt found.
D/V5Print (18900): OPEN echange.txt
D/V5Print (18900): CLOSE echange.txt
D/V5Print (18900): DELETE echange.txt
D/V5Print (18900): Start of print.
D/V5Print (18900): Ceci est un test...
D/V5Print (18900): Le 28/11/2016
D/V5Print (18900): à 13:17:50
D/V5Print (18900): ligne 01 a A
D/V5Print (18900): ligne 02 b B
D/V5Print (18900): ligne 03 c C
D/V5Print (18900): ligne 04 d D
D/V5Print (18900): ligne 05 e E
D/V5Print (18900): ligne 06 f F

// on n'est pas passé par private ServiceConnection connService()
// ni par private ICallback callback = new ICallback.Stub()
// ==> Erreur !

D/V5Print (18900): Erreur Exception woyouService.printText
D/V5Print (18900): echange.txt not found... Bye Bye
D/V5Print (18900): End of OnCreate()
D/V5Print (18900): onServiceConnected()
D/V5Print (18900): woyouService.printerInit
D/V5Print (18900): onReturnString-ICallback--->768
D/V5Print (18900): onRunResult-ICallback--->true

La question est donc Comment forcer le passage avant de lancer PrintData() ???
 
P

PhilDeDakar

Membre
Inscrit
4 Mars 2014
Messages
3
Points
0
  • #3
Re: Comment exécuter une procédure au lancement de l'Activity ?

RESOLU
Il suffisait de mettre l'appel à la fonction PrintData() juste après woyouService.printerInit(callback);
 
Valentin

Valentin

Moderateur Global
Inscrit
20 Février 2013
Messages
7 829
Points
48
  • #4
Re: Comment exécuter une procédure au lancement de l'Activity ?

Salut,

J'étais en train de te répondre lorsque je me suis aperçu de ton dernier message.
Content pour toi dans ce cas.
 
Haut Bas