2016-12-25 2 views
1

Я искал несколько часов, но не смог найти решение моей проблемы. Кто-нибудь знает, как сделать кнопки уведомления хедз-апа, вызывать трансляцию? Мой код:Кнопки уведомлений о Heads-Up Not Executing

сигнализации приемник Извещение Builder:

 NotificationCompat.Builder builder = 
      new NotificationCompat.Builder(context) 
        .setSmallIcon(R.drawable.alarmicon) 
        .setContentTitle("Alarm for " + timeString) 
        .setContentText(MainActivity.alarmLabel.getText().toString()) 
        .setDefaults(Notification.DEFAULT_ALL) // must requires VIBRATE permission 
        .setPriority(NotificationCompat.PRIORITY_HIGH); //must give priority to High, Max which will considered as heads-up notification 

    //set intents and pending intents to call service on click of "dismiss" action button of notification 
    Intent dismissIntent = new Intent(context, notificationButtonAction.class); 
    dismissIntent.setAction(DISMISS_ACTION); 
    PendingIntent piDismiss = PendingIntent.getBroadcast(context, 0, dismissIntent, 0); 
    builder.addAction(R.drawable.alarmoff, "Dismiss", piDismiss); 

    //set intents and pending intents to call service on click of "snooze" action button of notification 
    Intent snoozeIntent = new Intent(context, notificationButtonAction.class); 
    snoozeIntent.setAction(SNOOZE_ACTION); 
    PendingIntent piSnooze = PendingIntent.getBroadcast(context, 0, snoozeIntent, 0); 
    builder.addAction(R.drawable.snooze, "Snooze", piSnooze); 

    // Gets an instance of the NotificationManager service 
    NotificationManager notificationManager = 
      (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
    //to post your notification to the notification bar with a id. If a notification with same id already exists, it will get replaced with updated information. 
    notificationManager.notify(0, builder.build()); 

notificationButtonAction:

public static class notificationButtonAction extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     System.out.println("notificationButtonAction Started"); 
     String action = intent.getAction(); 
     if (SNOOZE_ACTION.equals(action)) { 
      stopAlarm(); 
      System.out.println("Alarm Snoozed"); 
      MainActivity ma = new MainActivity(); 
      ma.setAlarm(true); 
     } 
     else if (DISMISS_ACTION.equals(action)) { 
      stopAlarm(); 
      System.out.println("Alarm Dismissed"); 
     } 
    } 
} 

Мои печатные строки в notificationButtonAction не распечатываются, даже не "notificationButtonAction работы."

Я следовал учебнику от Brevity Software (http://www.brevitysoftware.com/blog/how-to-get-heads-up-notifications-in-android/), но их код, похоже, не работал.

Любая помощь приветствуется! Благодаря!

+0

Tejas, Любая удача здесь? –

+1

Да, оказывается, я не добавлял класс в манифест Android! Упс! –

ответ

0

Оказывается, я не добавлял класс в манифест. Мой код был в порядке.

Смежные вопросы