Ich habe Push-Benachrichtigungen mit Azure Notification Hub implementiert. Ich habe festgestellt, dass sie nur drei Überschreibung Methoden haben beim Ausfahren NotificationHandler:Wie man weiß, wenn der Druck geöffnet ist; Benachrichtigungs-Hub für Azure Push-Benachrichtigungen?
public void onReceive(Context context, Bundle bundle)
public void onUnregistered(Context context, String gcmRegistrationId)
public void onRegistered(Context context, String gcmRegistrationId)
meisten Push-Benachrichtigungsdienste haben eine onPushOpen() oder onOpen() Callback-Methode, die aufgerufen wird, wenn ein Benutzer drückt auf die Push-Benachrichtigung sie empfangen. Woher weiß ich, wann jemand auf die erhaltene Push-Benachrichtigung geklickt hat? Ich experimentiere mit der Demo. Alles funktioniert abzüglich der Sorge, die ich gesagt habe.
public class MyHandler extends NotificationsHandler {
public static final int NOTIFICATION_ID = 1;
private NotificationManager mNotificationManager;
NotificationCompat.Builder builder;
Context ctx;
@Override
public void onReceive(Context context, Bundle bundle) {
ctx = context;
String nhMessage = bundle.getString("message");
sendNotification(nhMessage);
if (MainActivity.isVisible) {
MainActivity.mainActivity.ToastNotify(nhMessage);
}
}
private void sendNotification(String msg) {
Intent intent = new Intent(ctx, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
mNotificationManager = (NotificationManager)
ctx.getSystemService(Context.NOTIFICATION_SERVICE);
PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0,
intent, PendingIntent.FLAG_ONE_SHOT);
Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(ctx)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Notification Hub Demo")
.setStyle(new NotificationCompat.BigTextStyle()
.bigText(msg))
.setSound(defaultSoundUri)
.setContentText(msg);
mBuilder.setContentIntent(contentIntent);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
}
}