Bonjour.
j'ai un service qui tourne sur Android et qui doit ouvrir une application.
Si je lance l'app dans le setup, pas de soucis, elle s'ouvre correctement (voir commentaire en gras dans le code ci dessous).
si je tente de la lancer à un autre moment elle ne s'ouvre pas (la procédure est bien lancée, j'ai le log, mais le startActivity ne fait rien !)

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
			@Override
			protected void setup() throws ConnectionLostException,InterruptedException {
				led_ = ioio_.openDigitalOutput(IOIO.LED_PIN);
				sortiesBalance=new DigitalOutput[8];
				sortiesBalance[1]=ioio_.openDigitalOutput(15,false);//avG
				sortiesBalance[3]=ioio_.openDigitalOutput(11,false);//avD
				sortiesBalance[5]=ioio_.openDigitalOutput(7,false);//arD
				sortiesBalance[7]=ioio_.openDigitalOutput(3,false);//arG
				sortiesBalance[0]=ioio_.openDigitalOutput(16,false);//sensAvG
				sortiesBalance[2]=ioio_.openDigitalOutput(12,false);//sensAvD
				sortiesBalance[4]=ioio_.openDigitalOutput(8,false);//sensArD
				sortiesBalance[6]=ioio_.openDigitalOutput(4,false);//sensArG
				sortieVolume=new DigitalOutput[2];
				sortieVolume[0]=ioio_.openDigitalOutput(13,false);//INC 1
				sortieVolume[1]=ioio_.openDigitalOutput(14,false);//U/D 1
				sortiesRelaisHP=ioio_.openDigitalOutput(5,DigitalOutput.Spec.Mode.OPEN_DRAIN,false);
				DigitalOutput Vcc1=ioio_.openDigitalOutput(42,true);
				DigitalOutput Vcc2=ioio_.openDigitalOutput(38,true);
				DigitalOutput CS1=ioio_.openDigitalOutput(41,false);
				DigitalOutput CS2=ioio_.openDigitalOutput(37,false);
				contact= ioio_.openDigitalInput(10, DigitalInput.Spec.Mode.PULL_DOWN);// true si le contact est mis
				in3 = ioio_.openDigitalInput(26, DigitalInput.Spec.Mode.PULL_DOWN);//potaentiometre
				in2 = ioio_.openDigitalInput(25, DigitalInput.Spec.Mode.PULL_DOWN);//potaentiometre
				in1 = ioio_.openDigitalInput(24, DigitalInput.Spec.Mode.PULL_UP);//potaentiometre
				DigitalOutput VccP=ioio_.openDigitalOutput(23,true);// vcc potaentiometre
				DigitalOutput GndP=ioio_.openDigitalOutput(22,false);// Gnd potaentiometre
				in1Old=in1.read();
				in2Old=in2.read();
				in3Old=in3.read();
				pauseFile ="/storage/emulated/0/pauseFile.txt";
				contactFile ="/storage/emulated/0/contactFile.txt";
				balanceFaderFile ="/storage/emulated/0/balanceFader.txt";
				serviceEnCours="/storage/emulated/0/serviceEnCours.txt";
				VolumeSortieFile="/storage/emulated/0/volumeSortie.txt";
				RelaisHPFile="/storage/emulated/0/relaisHP.txt";
				valeurBalance=new int[8];
				volumeLevel = (float)myAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC)/(float)myAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
				Settings.System.putInt(getBaseContext().getContentResolver(),
						Settings.System.SCREEN_BRIGHTNESS_MODE, Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC);
				lanceMediaPlayer();      // Cette appel à la procédure fonctionne et l'app est lancée
			}

			void  lanceMediaPlayer(){

				if (!new File("/storage/emulated/0/AutoradioRunnig.txt").exists() ){
					Intent intent = new Intent(Intent.ACTION_MAIN);
					intent.setComponent(new ComponentName("appinventor.ai_jm_latour.MusicPlayer", "appinventor.ai_jm_latour.MusicPlayer.Screen1"));
					intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
					startActivity(intent);
					Log.i("DEBUG","lanceMediaPlayer()");     //Je passes bien ic dans les 2 cas
				}
			}
			void verifieContact() throws ConnectionLostException, InterruptedException {
				if(contact.read()){
					//led_.write(true);
					if (!new File(contactFile).exists() ){
						lanceMediaPlayer();                      // Cette appel à la procédure ne fonctionne mais l'app n'est pas lancée
						creeFichierContact();}

				}else 			//supprime  le fichier contact
					{
						//led_.write(false);
					File file=new File(contactFile);
					if (file.exists()){
						file.delete();			//suppression du fichier contact pour que le player sache qu'on est débranché
					}
				}
			}
quelqu'un saurait il où se trouve le problème et ce que je peux faire pour le résoudre ?