2017-09-03 4 views
0

からのGPS通知を送信しますユーザーが自分のリストに含まれている30の場所のいずれかにいる場合通知部分は準備が整いました。アクティビティでこれを行うことができます(座標が等しい場合はリスト内を反復して通知を送信しますが、すべてのアクティビティでこれを行うことができます。開けない?ありがとうは、私は(30+経度・緯度のペア)と私のタスクは、次のさを座標のリストを持ってどこにでも

  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()); 

答えて

0

あなたは場所の変更をリッスンするバックグラウンドサービスを使用することができますapi26の下に構築されている場合は、アプリケーションが権限を持っており、モバイルの場所は、API 26サービスを開始

上で提供しませんあなたはこのようにしなければなりません。そして、あなたはこれを通過しなければならないバックグラウンドタスクを行うために、いくつかの例外を得る可能性が最も高いです。https://developer.android.com/about/versions/oreo/android-8.0-changes.html#abll

+0

感謝を呼び出します。確かめます! –

0

あなたはサービスではなく活動でこれを行うために必要 onLocationChangedにこの https://stackoverflow.com/a/46025303/4705092

を見て取るには場所を比較し、それが収まる場合は、通知の一部迅速な答えを

関連する問題