steph29 Posté(e) 14 septembre 2010 Share Posté(e) 14 septembre 2010 Bonjour tout le monde, Je développe actuellement une application pour afficher des menus. Pour ce faire j'ai 2 activités : -SplashScreen -RakDroid Lorsque je clique sur l'icone c'est l'activité RakDroid qui est lancée, contrairement à ce que je souhaiterais Si quelqu'un pouvais m'aider, j'y ai déjà passer pas mal de temps. Merci d'avance! Voici mon manifest <?xml version="1.0" encoding="utf-8"?> package="android.stephane.castrec.rakdroid" android:versionCode="1" android:versionName="0.5"> android:label="@string/app_name" android:screenOrientation="portrait"> android:label="@string/app_name"> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 14 septembre 2010 Share Posté(e) 14 septembre 2010 Tu peux enlever ceci : Lien vers le commentaire Partager sur d’autres sites More sharing options...
steph29 Posté(e) 14 septembre 2010 Auteur Share Posté(e) 14 septembre 2010 Qaund je supprime ces lignes, et que je clique sur l'icone pour lancer l'application, Android affiche : "L'application n'est pas installée sur le téléphone". Lorsque je lance l'appli en debug, le lancement de l'appli se fait bien et affiche bien le ScreenSplash. Ensuite je quitte et je reviens et c'est là qu'il y a l'erreur. C'est incompréhensible. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jorodan Posté(e) 14 septembre 2010 Share Posté(e) 14 septembre 2010 Et comme cha ? android:label="@string/app_name"> Et il y a uoi dans le code de ton spash_screen ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
steph29 Posté(e) 14 septembre 2010 Auteur Share Posté(e) 14 septembre 2010 Merci de vous intéresser à mon problème :) public class SplashScreen extends Activity { protected int _splashTime = 5000; // time to display the splash screen in ms private Handler _Handler = new Handler() { public void handleMessage(Message msg) { Log.d("RakDroid", "SplashScreen handleMessage"); createAlert("Erreur", "Problème sur le serveur. Veuillez ré-essayer ultérieurement!"); } }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.d("RakDroid", "SplashScreen starting"); if(!isConnected()) { //no data cnx createAlert("Erreur", "Pas de connexion internet trouvée"); } // thread for displaying the SplashScreen Thread splashTread = new Thread() { @Override public void run() { try { //sleep(Time); RequestMenu request = new RequestMenu(); if(request.makeRequest()!=-1) { //List lListMenus = request.getMenus(); Intent rakDroidIntent = new Intent(SplashScreen.this,RakDroid.class); startActivity(new Intent(rakDroidIntent)); finish(); stop(); } else { Log.d("RakDroid", "SplashScreen makeRequest Error"); //Looper.prepare(); _Handler.sendEmptyMessage(0); //finish(); //stop(); } Log.d("RakDroid", "SplashScreen request finish"); } catch(Exception e) { Log.e("RakDroid", "SplashScreen thread error"+e.getMessage()); Looper.prepare(); createAlert("Erreur", "Problème sur le serveur. Veuillez ré-essayer ultérieurement!"); finish(); stop(); } } }; splashTread.start(); } private void createAlert(String pTitle, String pMessage) { try { AlertDialog lAlert = new AlertDialog.Builder(this).create(); lAlert.setTitle("Erreur"); lAlert.setMessage(pMessage); lAlert.setButton("Quitter", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); return; } }); Log.d("RakDroid", "Device not connected to internet"); lAlert.show(); return ; } catch(Exception e) { Log.e("RakDroid", "createAlert error "+e.getMessage()); } } private Boolean isConnected() { Log.d("RakDroid", "isConnected"); ConnectivityManager connManager = (ConnectivityManager)getSystemService(RakDroid.CONNECTIVITY_SERVICE); if(connManager.getNetworkInfo(0).getState() == State.CONNECTED) return true; else return false; } } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jorodan Posté(e) 14 septembre 2010 Share Posté(e) 14 septembre 2010 Conseil qui n'a rien a voir avec ton problème. La TaskActivity est mieux que le Handler :) Ben ton activité, je me suis tet plantée mais elle fait rien de visible et elle envoie la suivante. Donc ca me parait normal ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
steph29 Posté(e) 14 septembre 2010 Auteur Share Posté(e) 14 septembre 2010 j'ai le setContentView, puis je viens d'ajouter une alert a chaque fois que l'on rentre dans le SplashScreen mais ça ne s'affiche pas lorsque je clicque sur l'icone. C'est étrange, parce que lorsque je debug mon application,, celle ci ce lance seule et correctement! Le lien du launcher à vraiment l'air d'être vers le RakDroid et non le SplashScreen. (cf : logcat) Je suis preneur de toutes idées! Je nage depuis hier midi sur ce problème! Lien vers le commentaire Partager sur d’autres sites More sharing options...
steph29 Posté(e) 14 septembre 2010 Auteur Share Posté(e) 14 septembre 2010 Je me demande si je n'ai pas un effet mémoire qui c'est mis en place. En effet, lorsque j'utilise appManager ou la liste des applis pour relancer l'appli je passe bien par le splashscreen contrairement au raccourci sur le homescreen. Alors là, tout deviens confus! Lien vers le commentaire Partager sur d’autres sites More sharing options...
ichpa Posté(e) 14 septembre 2010 Share Posté(e) 14 septembre 2010 Bonjour, Bizarre ton histoire. Cela devrait fonctionner, si ton manifest ressemble bien à cela : <?xml version="1.0" encoding="utf-8"?> package="android.stephane.castrec.rakdroid" android:versionCode="1" android:versionName="0.5"> android:screenOrientation="portrait"> As-tu essayé de désinstaller ton application de l'émulateur (Menu > Paramètres Applications > Gérer les applications), puis de la réinstaller. Lien vers le commentaire Partager sur d’autres sites More sharing options...
steph29 Posté(e) 14 septembre 2010 Auteur Share Posté(e) 14 septembre 2010 Je m'excuse pour le temps que ça vous a pris, mais je pense avoir trouvé la solution. En effet, je pense que mon raccourci sur le home screen était corrompu et pointait sur l'autre activity. Donc merci à tous, et j'espère que ce sujet pourra un jour aider quelqu'un. Lien vers le commentaire Partager sur d’autres sites More sharing options...
ichpa Posté(e) 14 septembre 2010 Share Posté(e) 14 septembre 2010 Bien vu. Puis comme l'a dit Jorodan, n'hésites pas à utiliser AsyncTask à la place de ton Handler. Cette classe n'apporte pas grand chose fonctionnellement mais reste plus simple à utiliser et à maintenir. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.