http://developer.android.com/guide/topics/ui/notifiers/notifications.html 页面说,我必须使用 Intent
我不能使用 Intent,因为我的代码只有一个 Activity。我想使用通知返回应用程序,例如从DEVICE'S HOME SCREEN。
当我想通过单击通知执行某些操作时,我必须使用 Intents。有没有办法setContentView
点击通知后使用?
http://developer.android.com/guide/topics/ui/notifiers/notifications.html 页面说,我必须使用 Intent
我不能使用 Intent,因为我的代码只有一个 Activity。我想使用通知返回应用程序,例如从DEVICE'S HOME SCREEN。
当我想通过单击通知执行某些操作时,我必须使用 Intents。有没有办法setContentView
点击通知后使用?
到目前为止,我还没有看到您的尝试,我将对此进行尝试。
我不太明白为什么无论您的应用程序中有多少活动,您都不能声明/使用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
语句,决定应该显示哪个布局。
再说一次,我怎么强调都不为过,你应该总是展示你到目前为止所做的事情。这确实有助于找到解决方案。您的实际要求与您需要完成的工作完全无关。
您可以使用 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);