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 !)
quelqu'un saurait il où se trouve le problème et ce que je peux faire pour le résoudre ?Code:@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 ici 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 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é } } }
-----