通知监听器服务没有收到帖子事件?[api 18]

时间:2013-08-09 08:42:29

标签: android notifications

我环顾四周,发现了一些使用新的notificationlistenerservice类的例子,但是我遇到的问题甚至没有听到通知发布事件。

我发现的例子是使用gui和广播接收器,这些接收器并非我的目标所需。

我试图至少用这个来发射吐司通知,但我什么都没得到。我已经确认允许应用程序收听通知并启用通知。

我遗失了什么?

//listen for new notifications?
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
    Toast.makeText(getApplicationContext(), sbn.getPackageName().toString(), 1).show();
    Toast.makeText(getApplicationContext(), "anything? anything? please?", 1).show();

}

//listen for the removal of the notities 
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
    //uhh not done yet
}

//prepare
public void onCreate() {
    super.onCreate();

    //ongoing notification test, is this needed for notification listeners?
    NotificationManager notificationManager;
    Notification myNotification;

    Context context = getApplicationContext();

    myNotification = new Notification.Builder(context)
        .setContentTitle("NotifyWake")
        .setSmallIcon(R.drawable.ic_notification_open)
        .setOngoing(true)
        .build();

    notificationManager = (NotificationManager)getSystemService(context.NOTIFICATION_SERVICE);
    notificationManager.notify(1, myNotification);
    //end ongoing notification

}

1 个答案:

答案 0 :(得分:0)

想出来,你必须创建一些线程或广播方法来卸载发布/删除事件中的任何内容。像吐司这样的东西不起作用,因为该方法触发了一个线程错误并且无声地失败(在logcats中注明)

所以,一个简单的解决方案是扩展broadcastreceiver并将繁重的东西和gui东西传递给该方法。