Обновлены MyService @CommonsWareAndroid уведомления от службы не открывается активность
У меня есть служба, которая, если начала установят сигнализацию, которая вызывает уведомление.
Это нормально работает, и аварийные сигналы отменены, если служба остановлена.
я пытаюсь получить уведомление, чтобы открыть новый класс активности, но не может сделать это
моего класса обслуживания заключается в следующем:
package com.example.andtip;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
public class BReceiver extends BroadcastReceiver {
private static final int MY_NOTIFICATION_ID=1;
NotificationManager notificationManager;
Notification myNotification;
public void onReceive(Context context, Intent intent) {
Intent myIntent = new Intent(context, DoSomething.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, new Intent("com.example.andtip"),0);
PendingIntent pi2 = PendingIntent.getActivity(context, 0, myIntent,0);
myNotification=new NotificationCompat.Builder(context)
.setContentTitle("This is a notification from the example alarm application.")
.setContentText("Notification")
.setTicker("Notification!")
.setWhen(System.currentTimeMillis())
.setContentIntent(pi)
.setDefaults(Notification.DEFAULT_SOUND)
.setAutoCancel(true)
.setSmallIcon(R.drawable.ic_launcher)
.build();
notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(MY_NOTIFICATION_ID, myNotification);
}
}
, как я должен связать намерения PI2 к уведомление?
Спасибо @CommonsWare я изменил getbroadcast на getactivity и добавил намерение (context, dosometing.class) сейчас, как только триггер отключился, действие открывается, но я больше не получаю уведомление (хотел нажать его перед новым действием открывается) –
@IngolfKrauss: У вас есть два разных 'PendingIntent', которые вы используете. Один для тревоги. Это должно вызвать «BroadcastReceiver», который отображает «Уведомление». Второй «PendingIntent» - это тот, который вы используете в «Уведомлении». * Это * тот, который должен быть 'getActivity()' 'PendingIntent'. – CommonsWare
Еще раз спасибо за подсказку, я обновил сообщение и изменил широковещательный приемник и добавил ожидаемое намерение getactivity, как оно связано с уведомлением? –