2017-09-03 4 views
0

J'ai une liste de coordonnées (plus de 30 paires de longitudes latitudes) et ma tâche est la suivante:envoyer une notification GPS de partout

je devrais créer une application Android qui envoie une notification (sur la barre d'état) à l'utilisateur s'il/elle est sur l'un des 30 emplacements que contient ma liste. La partie de notification est prête, je peux le faire dans une activité (itérer dans la liste, si les coordonnées sont égales, puis envoyer la notification, mais comment faire pour toutes les activités, et pour les moments où l'application est en cache, mais pas ouvrir? Merci

  Intent intent = new Intent(AGPS.this, SecondClass.class); 

      TaskStackBuilder stackBuilder = TaskStackBuilder.create(AnotherGPS.this); 
      stackBuilder.addParentStack(SecondClass.class); 
      stackBuilder.addNextIntent(intent); 
      PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent 
        .FLAG_UPDATE_CURRENT); 

      NotificationCompat.Builder mBuilder = 
        (NotificationCompat.Builder) new NotificationCompat.Builder(AnotherGPS.this) 
          .setSmallIcon(R.drawable.cam_icon) 
          .setContentTitle("My notification") 
          .setContentText("content of notification") 
          .setContentIntent(pendingIntent); 
      NotificationManager NM = (NotificationManager) getSystemService(Context 
        .NOTIFICATION_SERVICE); 
      NM.notify(0, mBuilder.build()); 

Répondre

0

Si vous construisez ci-dessous api26 vous pouvez utiliser le service d'arrière-plan pour écouter les changements d'emplacement, à condition que votre demande a la permission et l'emplacement du mobile est sur

Démarrage des services api 26 ne sera pas travailler de cette façon et vous aurez probablement quelques exceptions, pour faire des tâches d'arrière-plan, vous devez passer par ce https://developer.android.com/about/versions/oreo/android-8.0-changes.html#abll

+0

Merci pour la réponse rapide. Je vérifierai! –

0

vous devez faire cela dans un service et non pas dans l'activité look prendre à ce https://stackoverflow.com/a/46025303/4705092

à onLocationChanged comparer endroits et si elle vous convient appeler une partie notification