android– 如何使用Notification Bar从服务中调用活动

android– 如何使用Notification Bar从服务中调用活动,第1张

概述这是我的sistuationA1=启动画面活动A2=主要活动A3=额外活动S1=GPS服务我从A1开始创建意图启动A2然后A1完成.在A2内部我创建并绑定S1(在S1内部我发出通知)CharSequencetext=getText(R.string.local_service_started);Notificationnotification=newNotificatio

这是我的sistuation

A1 =启动画面活动

A2 =主要活动

A3 =额外活动

S1 = GPS服务

我从A1开始创建意图启动A2然后A1完成.
在A2内部我创建并绑定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活动中的HOME按钮并打开另一个应用程序,然后我按下我的通知图标一切正常工作,我关闭我的A2活动(A2是最活跃的),但如果在A2内我启动A3并返回HOME并按下通知我有问题,A2被创建为一个新实例(A2现在不是最顶层)!可以像长按HOME那样产生效果并将最后一次打开的活动集中在我的应用程序中吗?我不想打开特定的活动,但是在没有新活动实例的情况下将我暂停的活动带到前面.

解决方法:

我已经解决了,这打开了我的应用程序,保留了实际状态,并将打开的活动恢复为foregraund的背景形式.同样想到应用程序从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正在启动的第一个活动.

最好的祝福

总结

以上是内存溢出为你收集整理的android – 如何使用Notification Bar从服务中调用活动全部内容,希望文章能够帮你解决android – 如何使用Notification Bar从服务中调用活动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1105571.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存