1

アクティビティを使用してサービスを開始しています。サービスでは、locationListener に基づいて通知を送信します。通知が送信されると、ユーザーは通知をクリックし、MainActivity が呼び出されます。

サービスによって MainActivity が呼び出されたときにアラート ボックスを表示したいと考えています。

Service クラスのコードは次のとおりです。

public class NotificationService extends Service implements LocationListener{
     private NotificationManager mNM;
     private Notification notification;
     private int NOTIFICATION = 123;
.
.
.
        private void showNotification(String msg) {
            long[] pattern = { 0, 1000, 1000 };//pattern for the vibration
            String ns = Context.NOTIFICATION_SERVICE;
            CharSequence text ="EasyTransit notification";
            notification = new Notification(R.drawable.arrow, text, System.currentTimeMillis());
            Intent contentIntent = new Intent(this, MainActivity.class);
           // PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), 0);
            contentIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
            notification.setLatestEventInfo(this, "EastTransit.Prepare to get off", msg, PendingIntent.getActivity(this.getBaseContext(), 0, contentIntent, PendingIntent.FLAG_CANCEL_CURRENT));

            notification.flags |= Notification.FLAG_AUTO_CANCEL;     
            //notification.flags |= Notification.FLAG_ONGOING_EVENT;
            mNM.notify(NOTIFICATION, notification);
            Vibrator vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
            vibrator.vibrate(pattern , -1);
             try {
                    Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
                    Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notification);
                    r.play();
                } catch (Exception e) {}
        }

..

サービスによって呼び出されたアクティビティに文字列 msg を送信する方法も知りたいです

どうすればこれらを達成できますか?

4

0 に答える 0