Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从永久服务设置通知文本_Android_Service_Notifications - Fatal编程技术网

Android 从永久服务设置通知文本

Android 从永久服务设置通知文本,android,service,notifications,Android,Service,Notifications,我有一个一直在后台运行的服务,它有一个通知来通知它的当前状态。单击通知时,将打开一个允许您管理服务的活动。在我开始工作之前,这一切都很有效 android:targetSdkVersion="23" 在舱单上 在此之前,我将使用以下内容创建通知: Notification myNotification = new Notification(); //several options myNotification.setLatestEventInfo notificationBuilder.s

我有一个一直在后台运行的服务,它有一个通知来通知它的当前状态。单击通知时,将打开一个允许您管理服务的活动。在我开始工作之前,这一切都很有效

android:targetSdkVersion="23"
在舱单上

在此之前,我将使用以下内容创建通知:

Notification myNotification = new Notification();
//several options
myNotification.setLatestEventInfo
notificationBuilder.setContentText(textToDisplay);
然后,我会用以下内容更新通知文本:

Notification myNotification = new Notification();
//several options
myNotification.setLatestEventInfo
notificationBuilder.setContentText(textToDisplay);
恐怕SetLateSteventifo已经有一段时间被弃用了,似乎已经随sdk 23一起消失了。好的

然后我使用Notification.Builder创建通知。我正在尝试用以下内容更新文本:

Notification myNotification = new Notification();
//several options
myNotification.setLatestEventInfo
notificationBuilder.setContentText(textToDisplay);
还是这个

notificationBuilder.setStyle(new Notification.BigTextStyle().bigText(textToDisplay));
但什么都不管用。它只显示一个默认文本,如“单击此处显示更多信息”

然后,通知不会“启动”到

但是因为它是从一个有

instance.startForeground(notificationId, myNotification);
问题1:

文本不显示,仅显示“单击以获取更多信息”

问题2:


单击将从操作系统的“设置”菜单打开“应用程序信息”活动。它应该显示我选择的活动。

通知文档显示:小图标、标题和详细信息文本。小图标似乎特别重要。如果它丢失,则表明通知被判断为“格式错误”,并应用了特殊处理。该处理包括在通知中显示通用标题,例如“应用程序名称正在运行”,以及在单击通知时启动应用程序的应用程序信息活动


您看到的行为是因为在生成通知时未设置小图标。您还应该指定类别,而不是Context.ACTIVITY\u服务。

您可以发布创建挂起内容并生成通知的代码吗?这将是:Intent myIntent=new Intent(这是ActivityMainTabLayout.class);mypendingent=pendingent.getActivity(this,0,myIntent,0);Notification.Builder=newbuilder(AutomationService.getInstance());builder.setContentTitle(“自动化”);建造商。设置类别(活动和服务);builder.setWhen(System.currentTimeMillis());builder.setContentIntent(myPendingIntent);但是,上述变量仅创建一次。在那之后,我只想更新notificationBuilder的文本。我更新了我的答案。嗯,我相信这更多的是因为一个错误而没有显示通知,不是吗?我对链接注释的理解是,如果通知格式不正确,系统会显示一个特殊的通用通知,可能就是您看到的通知:“相反,我们在4.3中最终做的是让系统发布自己的通知”我向你鞠躬,你是对的。现在,如果你点击通知,应用程序就会打开,而不仅仅是应用程序信息。非常感谢!