0

http://developer.android.com/guide/topics/ui/notifiers/notifications.html 页面说,我必须使用 Intent

我不能使用 Intent,因为我的代码只有一个 Activity。我想使用通知返回应用程序,例如从DEVICE'S HOME SCREEN

当我想通过单击通知执行某些操作时,我必须使用 Intents。有没有办法setContentView点击通知后使用?

4

2 回答 2

1

到目前为止,我还没有看到您的尝试,我将对此进行尝试。

我不太明白为什么无论您的应用程序中有多少活动,您都不能声明/使用Intent. 如果您需要在单击通知后再次触发您唯一的活动,并且需要再次setContentView(R.layout.some_layout_xml);在活动中调用onCreate(),为什么不为您的通知声明一个 Intent,如下所示:

Intent intent = new Intent(getApplicationContext(), YOUR_ACTIVITY.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(YOUR_ACTIVITY.this, 0, intent, 0);

这样,点击你的通知应该做你想做的事。

同样,考虑到您根本没有发布任何代码,这可能对您有用,也可能对您不起作用。

编辑:根据OP的评论,我认为解决方案可能是:

请参阅此链接,了解如何使用通知的意图发送数据:如何将参数从通知单击发送到活动?

基本上,由于 aNotification已被触发,我假设用户已经登录。现在,当他们在单击 a 后返回应用程序时跳过登录部分Notification,发送一些附加内容以及Intent. 然后,当Activity开始时,检查值并使用if...else语句,决定应该显示哪个布局。

再说一次,我怎么强调都不为过,你应该总是展示你到目前为止所做的事情。这确实有助于找到解决方案。您的实际要求与您需要完成的工作完全无关。

于 2013-02-18T13:00:52.793 回答
1

您可以使用 Intent 返回应用程序,例如:

final Intent intent = new Intent(context, YourActivity.class);
final PendingIntent pendingIntent = PendingIntent.getActivity(
                context, 0, intent, 0);
final Notification notification = new Notification(
                R.drawable.logo, tickerText, System.currentTimeMillis());
notification.setLatestEventInfo(context, title, text, pendingIntent);
notificationManager.notify(NOTIFICATION_ID, notification);
于 2013-02-18T13:02:46.513 回答