【发布时间】:2014-09-14 06:27:08
【问题描述】:
我的应用程序的主要部分是显示通知的服务。该应用程序的 GUI 仅用于能够更改某些设置。当我点击那个通知时,一些数据应该在后台发送而不打开应用程序。为此,我创建了一个不可见的活动。
当我打开应用程序(配置部分)并使用返回按钮退出时,一切正常;单击通知时,无需打开应用即可发送数据。
当我使用主页按钮退出应用程序时,每次单击通知时应用程序都会再次打开。
这是我的通知和调用数据活动的意图:
PendingIntent toggleLightsIntent =
PendingIntent.getActivity(
this,
0,
new Intent(this, HyperionToggleSwitchActivity.class),
PendingIntent.FLAG_NO_CREATE);
Notification notification = new Notification.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("HyperionSwitch")
.setContentText("Switch lights")
.setContentIntent(toggleLightsIntent)
.build();
这是我发送数据的部分:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sendJson(blue);
finish();
}
我需要进行哪些更改才能使应用在单击通知时无法打开? 这是我的第一个应用程序,我花了很长时间才得到我目前所拥有的......
【问题讨论】:
-
您是否尝试过简单地不设置内容意图(或提供
null)?根据文档,创建通知时只有一个小图标、内容标题和内容文本是必需的。从概念上讲,不设置任何操作也比摆弄隐形活动更有意义,imo。 -
嗯?您如何建议在不设置 Intent 的情况下执行点击操作?
-
我真诚地道歉...我一定是暂时性的大脑崩溃了。忽略我之前的评论。我应该说的是使用
PendingIntent.getService()将PendingIntent直接发送到您的服务 - 您不需要任何隐形活动或任何东西。 -
谢谢,这正是我需要的。将活动更改为服务,现在它按预期工作。
-
很遗憾,我现在无法将问题标记为已回答,因为您刚刚发表了评论...
标签: java android notifications