IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Redémarrage de l'application


Sujet :

Android

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut Redémarrage de l'application
    Bonjour à tous

    mon application est en marche.

    par exemple je suis à l'activity A.

    je clique sur le bouton HOME.

    quand je clique de nouveau sur l'icone pour démarrer l'application,je la trouve sur le même état sur laquelle je l'ai laissé.

    comment faire pour qu'en cliquant sur l'icone pour la démarrer, elle démarre de la 1er étape. non pas sur la dernière étape sue laquelle je l'ai laissé .

    merci d'avance !

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Bonjour,

    En effet, ton application ne se ferme pas sous android! Elle est juste masquée. Donc quand tu "redemarres" ton application elle ne fait que se réafficher!

    Donc, pour retourner à ta première vue, le moyen le plus propre est de fermer toutes les autres à l'aide de l'instruction finish().

    Si tu appelles plusieurs activity durant ton application, alors il faut les fermer en cascade (communication entre les vues lorsqu'on en ferme une)!

    De plus, il me semble que lorsque tu rappelles ton application, la fonction onResume de ton activity est appelée.

    J'espere que ceci t'aura aidé

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    Si tu appelles plusieurs activity durant ton application, alors il faut les fermer en cascade (communication entre les vues lorsqu'on en ferme une)!

    oui c vrai,j'appelle plusieurs activity.

    mais comment les fermer en cascades?

  4. #4
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Tout d'abord, lorsque tu appelles ton activité, il faut l'appeler comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Intent intent = new Intent()
                .setClass(ActivityA.this, ActivityB.class);
                startActivityForResult(intent, REQUEST_CODE);
    où REQUEST_CODE est un entier unique correspondant à l'activité.

    Ensuite dans ton activité, il faut implémenter la fonction suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    protected void onActivityResult(int requestCode, int resultCode,
            Intent data) {
        if (requestCode == REQUEST_CODE) {
            if (resultCode == RESULT_CLOSE_APPLICATION) {
                this.finish();
            }
        }
    }
    RESULT_CLOSE_APPLICATION est l'entier donné lorsque tu ferme l'application (voir juste après).

    Et lorsque tu ferme une activité, tu fais comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this.setResult(RESULT_CLOSE_APPLICATION);
    this.finish();

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    Bon ,j'ai fait ce que vous m'avez dit mais toujours sans resultat

    voilà mes classes

    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
     
    public class DynamicGui extends Activity {
     
     
    	private static final int REQUEST_CODE = 0;
    	private static final int RESULT_CLOSE_APPLICATION = 0;
    	int orientation;
    	 @Override
    	    public void onCreate(Bundle savedInstanceState) {
    	           super.onCreate(savedInstanceState);
     
     
     
     
     
    	        	   Intent intent2 = new Intent().setClass(DynamicGui.this,accueil2.class);
     
     
    	            	startActivityForResult(intent2, REQUEST_CODE);
     
     
     
     
     
     
    	 }
     
    	 protected void onActivityResult(int requestCode, int resultCode,
    		        Intent data) {
    		    if (requestCode == REQUEST_CODE) {
    		        if (resultCode == RESULT_CLOSE_APPLICATION) {
    		            this.finish();
    		        }
    		    }
    		}
     
     
    }





    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
    public class accueil2 extends Activity {
     
    	 protected static final int REQUEST_CODE = 0;
    	private static final int RESULT_CLOSE_APPLICATION = 0;
     
    	@Override
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.mainaccueil);
     
     
    	        ImageButton rechercher = (ImageButton) findViewById(R.id.Button01);
    	        Handler mHandler = new Handler();
     
    	        mHandler.postDelayed(new Runnable() {
     
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
     
                    	Intent intent1 = new Intent().setClass(accueil2.this,accueil22.class);
     
    	            	startActivityForResult(intent1, REQUEST_CODE);
     
                    }
                },3000L);
     
     
     
     
     
     
     
     
    	 }
     
    	protected void onActivityResult(int requestCode, int resultCode,
    	        Intent data) {
    	    if (requestCode == REQUEST_CODE) {
    	        if (resultCode == RESULT_CLOSE_APPLICATION) {
    	            this.finish();
    	        }
    	    }
    	}
    }



    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    public class accueil22 extends Activity {
     
    	private static final int REQUEST_CODE = 0;
    	private static final int RESULT_CLOSE_APPLICATION = 0;
    	private Button afficher;
    	 private Button cat1;
    	    private Button cat2;
     
    	    private Button cat3;
    	    private Button cat4;
    	    private Button cat5;
    	    private Button home;
    	 @Override
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.cat);
     
     
    	        cat1=(Button) findViewById(R.id.cat1);
    	         cat2=(Button) findViewById(R.id.cat2);
    	         cat3=(Button) findViewById(R.id.cat3);
    	        cat4=(Button) findViewById(R.id.cat4);
    	         cat5=(Button) findViewById(R.id.cat5);
    	         home=(Button) findViewById(R.id.home);
    	        afficher=(Button) findViewById(R.id.afficher);
     
     
    	        cat1.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","cevalab");
     
     
     
    					Intent intent1 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    					intent1 = intent1.putExtras(bundle);
    					startActivityForResult(intent1, REQUEST_CODE);
     
     
     
    				}
     
     		 	 });
     
     
    	        cat2.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","matrix");
     
     
     
    						Intent intent2 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent2 = intent2.putExtras(bundle);
    						startActivityForResult(intent2, REQUEST_CODE);
     
     
    				}
     
     		 	 });
     
     
    	        cat3.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","chick program");
     
     
    						Intent intent3 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent3 = intent3.putExtras(bundle);
    						startActivityForResult(intent3, REQUEST_CODE);
     
     
    				}
     
     		 	 });
     
     
    	        cat4.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","eggs");
     
     
     
    						Intent intent4 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent4 = intent4.putExtras(bundle);
    						startActivityForResult(intent4, REQUEST_CODE);
     
     
    				}
     
     		 	 });
    	        cat5.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","prodceva");
     
     
     
    						Intent intent5 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent5 = intent5.putExtras(bundle);
    						startActivityForResult(intent5, REQUEST_CODE);
     
     
    				}
     
     		 	 });
     
     
     
     
     
     
     
     
    	    	afficher.setOnClickListener(new OnClickListener() {
    	 			@Override
    	 			public void onClick(View arg0) {		
     
     
     
    	 				Intent intent6 = new Intent().setClass(accueil22.this,DynamicGuiGlobal.class);
     
    					startActivityForResult(intent6, REQUEST_CODE);
     
    	 			}
    	 		});
     
     
     
    	 }
     
    	 protected void onActivityResult(int requestCode, int resultCode,
    		        Intent data) {
    		    if (requestCode == REQUEST_CODE) {
    		        if (resultCode == RESULT_CLOSE_APPLICATION) {
    		            this.finish();
    		        }
    		    }
    		}
     
     
     
     
    }

  6. #6
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Premiere remarque: Les REQUEST CODE doivent être unique pour chaque activité

    EDIT: Et petite erreur de ma part:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    protected void onActivityResult(int requestCode, int resultCode,
    		        Intent data) {
    		    if (requestCode == REQUEST_CODE) {
    		        if (resultCode == RESULT_CLOSE_APPLICATION) {
     
    this.result(RESULT_CLOSE_APPLICATION);
    		            this.finish();
    		        }
    		    }
    		}

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    voilà elle égale à 0 pour toutes les activ !

  8. #8
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Chaque activité a un REQUEST_CODE différent! Ce n'est pas le cas dans ton code!

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    je dois donc envoyer REQUEST_CODE en bundle(put extra) à chaque activity ?

  10. #10
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut

    Tu dois juste modifier tes 0 de chaque REQUEST CODE par un chiffre different!

  11. #11
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    j'ai modifié les REQUEST_CODE mais toujours même problème

  12. #12
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Citation Envoyé par bennour.mohamed Voir le message
    j'ai modifié les REQUEST_CODE mais toujours même problème
    C'est normale, as aucun moment tu lui demandes de fermer l'application mis à part dans le onActivityResult!

    Rappel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this.setResult(RESULT_CLOSE_APPLICATION);
    this.finish();

  13. #13
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    ok ,
    si je l'ajoute dans OnCreate:l'activity ne se demarre pas, je l'ai mis dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        @Override
    	    public boolean onKeyDown(int keyCode, KeyEvent event)  {
    	        if (keyCode == KeyEvent.KEYCODE_HOME && event.getRepeatCount() == 0) {
    	        	this.setResult(RESULT_CLOSE_APPLICATION);
    	        	this.finish();
    	            return true;
    	        }
     
    	        return super.onKeyDown(keyCode, event);
    	    }
    mais sans resultat !

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    voilà mes classes


    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
     
     
     
     
    	   public class DynamicGui extends Activity {
     
     
    	private static final int REQUEST_CODE = 0;
    	private static final int RESULT_CLOSE_APPLICATION = 1;
    	int orientation;
    	 @Override
    	    public void onCreate(Bundle savedInstanceState) {
    	           super.onCreate(savedInstanceState);
     
     
     
     
     
    	        	   Intent intent2 = new Intent().setClass(DynamicGui.this,accueil2.class);
     
     
    	            	startActivityForResult(intent2, REQUEST_CODE);
     
     
     
    	 }

    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
    public class accueil2 extends Activity {
     
    	 protected static final int REQUEST_CODE = 1;
    	private static final int RESULT_CLOSE_APPLICATION = 2;
     
    	@Override
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.mainaccueil);
     
     
    	        ImageButton rechercher = (ImageButton) findViewById(R.id.Button01);
    	        Handler mHandler = new Handler();
     
    	        mHandler.postDelayed(new Runnable() {
     
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
     
                    	Intent intent1 = new Intent().setClass(accueil2.this,accueil22.class);
     
    	            	startActivityForResult(intent1, REQUEST_CODE);
     
                    }
                },3000L);
     
     
     
     
     
     
     
     
     
    	 }
     
    	protected void onActivityResult(int requestCode, int resultCode,
    	        Intent data) {
    	    if (requestCode == REQUEST_CODE) {
    	        if (resultCode == RESULT_CLOSE_APPLICATION) {
    	            this.finish();
    	        }
    	    }
    	}
    }


    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
     
     
    public class accueil22 extends Activity {
     
    	private static final int REQUEST_CODE = 2;
    	private static final int RESULT_CLOSE_APPLICATION = 3;
    	private Button afficher;
    	 private Button cat1;
    	    private Button cat2;
     
    	    private Button cat3;
    	    private Button cat4;
    	    private Button cat5;
    	    private Button home;
    	 @Override
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.cat);
     
     
    	        cat1=(Button) findViewById(R.id.cat1);
    	         cat2=(Button) findViewById(R.id.cat2);
    	         cat3=(Button) findViewById(R.id.cat3);
    	        cat4=(Button) findViewById(R.id.cat4);
    	         cat5=(Button) findViewById(R.id.cat5);
    	         home=(Button) findViewById(R.id.home);
    	        afficher=(Button) findViewById(R.id.afficher);
     
     
    	        cat1.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","cevalab");
     
     
     
    					Intent intent1 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    					intent1 = intent1.putExtras(bundle);
    					startActivityForResult(intent1, REQUEST_CODE);
     
     
     
    				}
     
     		 	 });
     
     
    	        cat2.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","matrix");
     
     
     
    						Intent intent2 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent2 = intent2.putExtras(bundle);
    						startActivityForResult(intent2, REQUEST_CODE);
     
     
    				}
     
     		 	 });
     
     
    	        cat3.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","chick program");
     
     
    						Intent intent3 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent3 = intent3.putExtras(bundle);
    						startActivityForResult(intent3, REQUEST_CODE);
     
     
    				}
     
     		 	 });
     
     
    	        cat4.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","eggs");
     
     
     
    						Intent intent4 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent4 = intent4.putExtras(bundle);
    						startActivityForResult(intent4, REQUEST_CODE);
     
     
    				}
     
     		 	 });
    	        cat5.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","prodceva");
     
     
     
    						Intent intent5 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent5 = intent5.putExtras(bundle);
    						startActivityForResult(intent5, REQUEST_CODE);
     
    						setResult(RESULT_CLOSE_APPLICATION);
    			        	finish();
    				}
     
     		 	 });
     
     
     
     
     
     
     
     
    	    	afficher.setOnClickListener(new OnClickListener() {
    	 			@Override
    	 			public void onClick(View arg0) {		
     
     
     
    	 				Intent intent6 = new Intent().setClass(accueil22.this,DynamicGuiGlobal.class);
     
    					startActivityForResult(intent6, REQUEST_CODE);
    					setResult(RESULT_CLOSE_APPLICATION);
    		        	finish();
    	 			}
    	 		});
     
    	    	this.setResult(RESULT_CLOSE_APPLICATION);
     
     
    	 }
     
    	 protected void onActivityResult(int requestCode, int resultCode,
    		        Intent data) {
    		    if (requestCode == REQUEST_CODE) {
    		        if (resultCode == RESULT_CLOSE_APPLICATION) {
    		            this.finish();
    		        }
    		    }
    		}
     
    	    @Override
    	    public boolean onKeyDown(int keyCode, KeyEvent event)  {
    	        if (keyCode == KeyEvent.KEYCODE_HOME && event.getRepeatCount() == 0) {
    	        	this.setResult(RESULT_CLOSE_APPLICATION);
    	        	this.finish();
    	            return true;
    	        }
     
    	        return super.onKeyDown(keyCode, event);
    	    }
     
     
     
     
     
    }
    mais sans result !!

  15. #15
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    KEYCODE_HOME n'est pas utilisable dans nos applications d'apres la doc si je ne me trompe pas!


    De plus, les RESULT_CLOSE_APPLICATION doivent etre identiques eux!

  16. #16
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    le prob vient de me gener


    les RESULT_CLOSE_APPLICATION sont les memes,et j'ai supprimé le OnKeyDown mais toujours sans resultat !

    effffffffffffffffffffffffffffffffff!!!!!!!

  17. #17
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Dans ce cas, on tourne en boucle avec mon message precedent:

    Citation Envoyé par David55 Voir le message
    C'est normale, as aucun moment tu lui demandes de fermer l'application mis à part dans le onActivityResult!

    Rappel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    this.setResult(RESULT_CLOSE_APPLICATION);
    this.finish();
    Ton problème maintenant n'est pas de fermer ton application car normalement le code que tu as implémentée fonctionne. Pour en etre sure testes avec un bouton sur ta derniere vue en fermant l'application lors du clique sur celui ci.

    Ton problème est: comment detecter l'appuie sur le bouton home ou comment detecter si nous revenons sur notre application?

    Essaye avec le onResume!

    EDIT:
    onResume(): Called when the activity will start interacting with the user. At this point your activity is at the top of the activity stack, with user input going to it.
    Always followed by onPause().

    onPause(): Called when the system is about to start resuming a previous activity. This is typically used to commit unsaved changes to persistent data, stop animations and other things that may be consuming CPU, etc. Implementations of this method must be very quick because the next activity will not be resumed until this method returns.
    Followed by either onResume() if the activity returns back to the front, or onStop() if it becomes invisible to the user.

    Donc essaye:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    protected void onResume ()
    {
    this.setResult(RESULT_CLOSE_APPLICATION);
    this.finish();
    }
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    protected void onPause ()
    {
    this.setResult(RESULT_CLOSE_APPLICATION);
    this.finish();
    }

  18. #18
    Membre confirmé
    Inscrit en
    Mars 2011
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 140
    Par défaut
    non plus !!

    j'ai ajouté onResume() puis onPause() et toujours sans resultat !!!
    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
     
     
     
     
    	           public class DynamicGui extends Activity {
     
     
    	private static final int REQUEST_CODE = 0;
    	private static final int RESULT_CLOSE_APPLICATION = 0;
    	int orientation;
    	 @Override
    	    public void onCreate(Bundle savedInstanceState) {
    	           super.onCreate(savedInstanceState);
     
    	        	   Intent intent2 = new Intent().setClass(DynamicGui.this,accueil2.class);
     
     
    	            	startActivityForResult(intent2, REQUEST_CODE);
     
     
     
     
     
     
     
    	 }
     
    	 protected void onActivityResult(int requestCode, int resultCode,
    		        Intent data) {
    		    if (requestCode == REQUEST_CODE) {
    		        if (resultCode == RESULT_CLOSE_APPLICATION) {
    		            this.finish();
    		        }
    		    }
    		}
     
     
    	 protected void onResume ()
    	 {
    	 this.setResult(RESULT_CLOSE_APPLICATION);
    	 this.finish();
    	 }
     
     
     
    }

    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
    69
    public class accueil2 extends Activity {
     
    	 protected static final int REQUEST_CODE = 1;
    	private static final int RESULT_CLOSE_APPLICATION = 0;
     
    	@Override
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.mainaccueil);
     
     
    	        ImageButton rechercher = (ImageButton) findViewById(R.id.Button01);
    	        Handler mHandler = new Handler();
     
    	        mHandler.postDelayed(new Runnable() {
     
                    @Override
                    public void run() {
                        // TODO Auto-generated method stub
     
                    	Intent intent1 = new Intent().setClass(accueil2.this,accueil22.class);
     
    	            	startActivityForResult(intent1, REQUEST_CODE);
     
                    }
                },3000L);
     
     
     
     
     
     
     
     
     
    	 }
     
    	protected void onActivityResult(int requestCode, int resultCode,
    	        Intent data) {
    	    if (requestCode == REQUEST_CODE) {
    	        if (resultCode == RESULT_CLOSE_APPLICATION) {
    	            this.finish();
    	        }
    	    }
    	}
     
     
    	protected void onResume ()
    	{
    	this.setResult(RESULT_CLOSE_APPLICATION);
    	this.finish();
    	}
     
     
     
    /*
    	    @Override
    	    public void onConfigurationChanged(Configuration newConfig)
    	    {
    	        super.onConfigurationChanged(newConfig);
    	    	int width = getWindowManager().getDefaultDisplay().getWidth(); 
    	    	Intent intent3 = new Intent(accueil2.this,accueil1.class);
      	startActivity(intent3);
     
     
     
     
    	    }*/
    }
    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
     
     
    public class accueil22 extends Activity {
     
    	private static final int REQUEST_CODE = 2;
    	private static final int RESULT_CLOSE_APPLICATION = 0;
    	private Button afficher;
    	 private Button cat1;
    	    private Button cat2;
     
    	    private Button cat3;
    	    private Button cat4;
    	    private Button cat5;
    	    private Button home;
    	 @Override
    	    public void onCreate(Bundle savedInstanceState) {
    	        super.onCreate(savedInstanceState);
    	        setContentView(R.layout.cat);
     
     
    	        cat1=(Button) findViewById(R.id.cat1);
    	         cat2=(Button) findViewById(R.id.cat2);
    	         cat3=(Button) findViewById(R.id.cat3);
    	        cat4=(Button) findViewById(R.id.cat4);
    	         cat5=(Button) findViewById(R.id.cat5);
    	         home=(Button) findViewById(R.id.home);
    	        afficher=(Button) findViewById(R.id.afficher);
     
     
    	        cat1.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","cevalab");
     
     
     
    					Intent intent1 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    					intent1 = intent1.putExtras(bundle);
    					startActivityForResult(intent1, REQUEST_CODE);
     
     
     
    				}
     
     		 	 });
     
     
    	        cat2.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","matrix");
     
     
     
    						Intent intent2 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent2 = intent2.putExtras(bundle);
    						startActivityForResult(intent2, REQUEST_CODE);
     
     
    				}
     
     		 	 });
     
     
    	        cat3.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","chick program");
     
     
    						Intent intent3 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent3 = intent3.putExtras(bundle);
    						startActivityForResult(intent3, REQUEST_CODE);
     
     
    				}
     
     		 	 });
     
     
    	        cat4.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","eggs");
     
     
     
    						Intent intent4 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent4 = intent4.putExtras(bundle);
    						startActivityForResult(intent4, REQUEST_CODE);
     
     
    				}
     
     		 	 });
    	        cat5.setOnClickListener(new OnClickListener() {
     
    				@Override
    				public void onClick(View v) {
    					// TODO Auto-generated method stub
     
    					 Bundle bundle = new Bundle();
    						bundle.putString("cat","prodceva");
     
     
     
    						Intent intent5 = new Intent().setClass(accueil22.this, DynamicGui2.class);
    						intent5 = intent5.putExtras(bundle);
    						startActivityForResult(intent5, REQUEST_CODE);
     
    						setResult(RESULT_CLOSE_APPLICATION);
    			        	finish();
    				}
     
     		 	 });
     
     
     
     
     
     
     
     
    	    	afficher.setOnClickListener(new OnClickListener() {
    	 			@Override
    	 			public void onClick(View arg0) {		
     
     
     
    	 				Intent intent6 = new Intent().setClass(accueil22.this,DynamicGuiGlobal.class);
     
    					startActivityForResult(intent6, REQUEST_CODE);
    					setResult(RESULT_CLOSE_APPLICATION);
    		        	finish();
    	 			}
    	 		});
     
    	    	this.setResult(RESULT_CLOSE_APPLICATION);
     
     
    	 }
     
    	 protected void onActivityResult(int requestCode, int resultCode,
    		        Intent data) {
    		    if (requestCode == REQUEST_CODE) {
    		        if (resultCode == RESULT_CLOSE_APPLICATION) {
    		            this.finish();
    		        }
    		    }
    		}
     
    	 protected void onResume ()
    	 {
    	 this.setResult(RESULT_CLOSE_APPLICATION);
    	 this.finish();
    	 }
     
     
     
     
     
     
     
     
     
    }

  19. #19
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    KEYCODE_HOME n'est pas utilisable dans nos applications d'apres la doc si je ne me trompe pas!
    C'est ce qu'indiques la doc maintenant il est possible de l'utiliser .

    public static final int KEYCODE_HOME

    Since: API Level 1
    Key code constant: Home key. This key is handled by the framework and is never delivered to applications.
    Constant Value: 3 (0x00000003)

    Mais, on dirait que cela est possible, par exemple :
    http://developer.android.com/resourc...home/Home.html

    Il l'utilises bien dans le dispatch ...

  20. #20
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    @Feanorin: Assez intéressant de le savoir Merci


    @bennour.mohamed: Bon ba essaye avec la fonction onRestart sinon apparemment KEYCODE_HOME fonctionne!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème de redémarrage d'une application sous Tomcat 6
    Par leara500 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 10/06/2014, 10h43
  2. Redémarrage de l'application selon le menu
    Par bonofred dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 22/06/2011, 13h23
  3. Fermeture et redémarrage d'une application
    Par chebmo90 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 26/06/2009, 08h50
  4. [C#] Redémarrage d'une application
    Par mister3957 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/10/2006, 10h48
  5. [D7]Redémarrage de l'application
    Par dleu dans le forum Langage
    Réponses: 8
    Dernier message: 29/08/2005, 12h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo