gpt4 book ai didi

android - 如何使用通知栏从服务调用 Activity

转载 作者:太空宇宙 更新时间:2023-11-03 13:02:47 24 4
gpt4 key购买 nike

这是我的情况

A1 = 启动画面 Activity

A2 = 主要 Activity

A3 = 额外 Activity

S1 = GPS 服务

我从 A1 开始创建启动 A2 的 Intent ,然后 A1 完成。在 A2 中,我创建并绑定(bind) S1(在 S1 中,我发出通知)

CharSequence text = getText(R.string.local_service_started);

Notification notification = new Notification(R.drawable.notify_icon, text, System.currentTimeMillis());

Intent i = new Intent();
i.setClassName("xxx.yyy.zzz.kkk", "xxx.yyy.zzz.kkk.A2");
i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

PendingIntent contentIntent = PendingIntent.getActivity(this, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);

notification.setLatestEventInfo(this, getText(R.string.local_service_label), text, contentIntent);
mNM.notify(NOTIFICATION, notification);

现在我的图标出现在通知栏了如果我在我的 A2 Activity 中按下主页按钮并打开另一个应用程序然后我按下我的通知图标一切正常工作并且我返回我的 A2 Activity (A2 是最重要的 Activity ),但是如果在 A2 中我启动 A3 并返回主页并按通知我有问题,A2 被创建为一个新实例(A2 现在不是最上面的)!是否有可能产生像长按 HOME 这样的效果,并将最后一个打开的 Activity 集中在我的应用程序中?我不想打开特定的 Activity ,但在没有新 Activity 实例的情况下将暂停的 Activity 置于最前面。

最佳答案

我已经解决了,这会打开我的应用程序并保留实际状态并将打开的 Activity 从后台返回到前台。从 RECENTS 中选择应用程序也是如此!

Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
i.setComponent(new ComponentName(getApplicationContext().getPackageName(), MyAppClass.class.getName()));

MyAppClass 是您的 APK 启动的第一个 Activity。

最好的问候

关于android - 如何使用通知栏从服务调用 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8733103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com