1

我有一个服务,在那个服务中我有一个线程。该线程有一个Runnable。从可运行文件我尝试发布通知,但我收到此错误。

The method setLatestEventInfo(Context, CharSequence, CharSequence, PendingIntent) in the type Notification is not applicable for the arguments (new Runnable(){}, CharSequence, CharSequence, PendingIntent)

如果我尝试从线程外部发布,一切正常。我的应用程序不断从服务器获得响应。当有来自服务器的更新数据并且应用程序未运行时,将创建一个新通知。为了避免在主线程上运行,我创建了一个新线程。

4

2 回答 2

1

this在 a中引用Runnable不是指Context(your Serviceor Activity) 的实例,而是指Runnable实例。

尝试以下操作:

final Context context = this;
Runnable runnable = new Runnable() {
    @Override
    public void run() {
        ...
        setLatestInfo(context, charsequence1, charsequence2, pendingIntent);
    }
}
于 2013-07-23T07:07:52.393 回答
0

看起来您定义的上下文是问题所在。您应该具有活动或应用程序的上下文。

于 2013-07-23T07:06:31.383 回答