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 :

[Android 7] Empêcher la mise en pause


Sujet :

Android

  1. #1
    Membre régulier Avatar de Caranille
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2013
    Messages : 117
    Points : 70
    Points
    70
    Par défaut [Android 7] Empêcher la mise en pause
    Bonjour à toutes et à tous,

    Je souhaiterai savoir comment faire pour empêcher la mise en pause de mon application qui compte le nombre de pas, car si la personne lance une autre application en premier plan ou éteint son écran ça se stop.

    Voici le code de l'activité (Que j'ai nettoyé pour laisser le minimum car il ne fait pas que compter les pas ^^):

    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
    package com.caranille.myplop;
     
    import android.Manifest;
    import android.app.Notification;
    import android.app.NotificationManager;
    import android.app.PendingIntent;
    import android.app.TaskStackBuilder;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.content.pm.PackageManager;
    import android.hardware.Sensor;
    import android.hardware.SensorEvent;
    import android.hardware.SensorEventListener;
    import android.hardware.SensorManager;
    import android.os.Vibrator;
    import android.support.v4.app.NotificationCompat;
    import android.support.v7.app.AlertDialog;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
     
    import java.util.Random;
     
    public class TrainingActivity extends AppCompatActivity implements SensorEventListener {
     
        private SensorManager mSensorManager;
        private Sensor mStepCounterSensor;
        private Sensor mStepDetectorSensor;
        private Vibrator Levibreur;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_training);
     
            textViewDistanceTraveled = (TextView) findViewById(R.id.textViewDistanceTraveled);
            buttonStopTraining = (Button) findViewById(R.id.buttonStopTraining);
            Levibreur = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
     
            //On affiche la distance parcourue du plop
            textViewDistanceTraveled.setText(" 0 pas");
     
            mSensorManager = (SensorManager)
                    getSystemService(Context.SENSOR_SERVICE);
            mStepCounterSensor = mSensorManager
                    .getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
            mStepDetectorSensor = mSensorManager
                    .getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
        }
     
        @Override
        protected void onResume() {
            super.onResume();
            //on fait vibrer le téléphone du
            Levibreur.vibrate(1000);
            mSensorManager.registerListener(this, mStepCounterSensor,
     
                    SensorManager.SENSOR_DELAY_FASTEST);
            mSensorManager.registerListener(this, mStepDetectorSensor,
     
                    SensorManager.SENSOR_DELAY_FASTEST);
        }
     
        @Override
        public void onPause() {
            super.onPause();  // Always call the superclass method first
            //on fait vibrer le téléphone du
            Levibreur.vibrate(1000);
        }
     
        protected void onStop() {
            super.onStop();
            mSensorManager.unregisterListener(this, mStepCounterSensor);
            mSensorManager.unregisterListener(this, mStepDetectorSensor);
        }
     
     
        @Override
        public void onSensorChanged(SensorEvent event)
        {
            Sensor sensor = event.sensor;
            float[] values = event.values;
            int value = -1;
     
            if (values.length > 0) {
                value = (int) values[0];
            }
     
            if (sensor.getType() == Sensor.TYPE_STEP_DETECTOR)
            {
    	//On affiche la distance parcourue du plop
            textViewDistanceTraveled.setText(" 1 pas");
                Levibreur.vibrate(100);
            }
        }
        @Override
        public void onAccuracyChanged(Sensor sensor, int i) {
     
        }
    }
    Autrefois je le faisais par GPS en calculant la distance et même si l'application était en arrière plan elle continuait de travailler que là non

    Merci d'avance de votre aide.

    Bien cordialement,

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Déjà ce qu'il te faut c'est un Service, pas une Activity. Ensuite, on peut utiliser des astuces.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre régulier Avatar de Caranille
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2013
    Messages : 117
    Points : 70
    Points
    70
    Par défaut
    Bonsoir,

    Merci de ta réponse c'est ce que j'ai fait et ça fonctionne.

    Bien cordialement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Empecher la mise à jour d'une set
    Par TheJoe dans le forum Hibernate
    Réponses: 1
    Dernier message: 05/07/2008, 11h51
  2. Empecher la mise a jour auto d'une table
    Par SnakeCharmer dans le forum IHM
    Réponses: 2
    Dernier message: 03/04/2008, 15h04
  3. empecher la mise en cache d'un fichier flash
    Par enzo21 dans le forum Flash
    Réponses: 10
    Dernier message: 27/09/2006, 19h17
  4. Mise en pause
    Par Mic75 dans le forum SDL
    Réponses: 7
    Dernier message: 03/09/2006, 00h01
  5. [C#] Mise en pause de l'affichage d'une Winform
    Par d1g-2-d1g dans le forum Windows Forms
    Réponses: 4
    Dernier message: 21/08/2006, 15h18

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