Bonjour
Je m'arrache les cheveux alors avant d'être chauve je viens vers vous...
J'essaye de mettre en place une interaction entre 2 applications différentes sur android, elles sont pour le moment toutes les 2 sous WM mais à terme, une des 2 sera en java natif. En cliquant sur un bouton de la première (une appli de cartographie), je veux tout simplement que la deuxième affiche un paramètre envoyé par la première...(pour le test évidement, ensuite cela lancera la fonction ad-hoc !).
Je passe donc par des Intents mais n'étant pas programmeur java, je bidouille et copie à droite et à gauche des codes (d'où l'erreur certainement !)
Dans l'appli 1 émettrice, je lance une fonction java native dans une procédure globale de ce type :
dans mon appli 2 réceptrice, j'ai mis dans une procédure globale en java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import android.content.Intent; import android.app.Activity; import android.content.ComponentName; import android.content.Context; public static void LanceIntent(String strFonction) { Context context = getApplicationContext(); Activity myactivity = getActiviteEnCours(); final Intent intent = new Intent(Intent.ACTION_MAIN, null); intent.addCategory(Intent.CATEGORY_LAUNCHER); final ComponentName cn = new ComponentName("com.accesvert.tracemobile", "com.accesvert.tracemobile.PilotTraceMobile"); intent.setComponent(cn); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putExtra("fonction",strFonction); context.startActivity(intent); }
et j'ai ajouté au manifest l'activité suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 import android.app.Activity;import android.os.Bundle; import android.content.Intent; public class PilotTraceMobile extends Activity { @Override public void onCreate(Bundle savedInstanceState) { // On récupère l'intent qui a lancé cette activité Intent i = getIntent(); // Puis on récupère la fonction passée et le paramètre String strFonction = i.getStringExtra("fonction"); // on lance la fonction en WL appelProcedureWL("OuvreParcelle", strFonction); } }
<activity android:label="@string/app_name" android:name=".PilotTraceMobile" android:exported="true" />
quand je clique sur mon bouton dans ma première appli, j'ai le message comme quoi mon appli 2 (tracemobile) s'est arrêté.
Il essaye donc bien de l'atteindre mais elle plante....
j'ai vu une histoire de static mais je ne peux pas mettre des procédures static avec getIntent visiblement...
Est-ce que je dois mettre cette classe PilotTraceMobile dans ma procédure globale en java ?
Enfin, je mélange tout je pense...
Si vous pouviez m'aider s'il vous plait...un grand merci...
Guen
Partager