这是我的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从服务中调用活动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)