安卓开发,如何通过包名跳转至另一个正在运行的应用?

Intentintent=newIntent();intent=packageManager.getLaunchIntentForPackage(packagename)... Intent intent = new Intent();
intent = packageManager.getLaunchIntentForPackage(packagename);
startActivity(intent);
能够打开另外一个程序
可是要是我的程序已经启动了,它还是重新打开一个,有什么办法让它不再重新打开,而是直接跳转至我已经打开的那个页面呢,就像按HOME键切换程序一样跳过去。

加了这句也不管用:intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED

求高手指点下啊
展开
 我来答
宁小哥的分享
2013-05-06 · TA获得超过273个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:308万
展开全部
试着从堆栈启动. 默认是不会回GC原来的启动的。除非你的app启动时把原来的那个干掉重启了。
1你可以模仿按home键,这样界面就被隐藏了
Intent i= new Intent(Intent.ACTION_MAIN);

i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

i.addCategory(Intent.CATEGORY_HOME);

startActivity(i);

2,让使用单例模式
在mainfest里配置activity为android:launchMode="singleTask"

如果通过home也是重启,说明有可能是你的机器内存不够了,杀掉其他进程或者换个牛叉的再试试
更多追问追答
追问
有木有个例子如何从堆栈中启动应用呢
追答
上面模仿home的就是从堆栈,似乎和你写的不一样的,你试过没
emeipanda
2013-05-06 · 知道合伙人软件行家
emeipanda
知道合伙人软件行家
采纳数:329 获赞数:1494
曾获联想、华为、Juniper认证,现任职于四川省内江市GPS卫星监控中心总工程师,主持技术管理工作逾10年。

向TA提问 私信TA
展开全部
activity的生命周期问题 楼主认真看一下 你跳转的时候如果原先运行的activity的参数不是你现在需要的这种模式(具体参考google的文档) 我觉得是没有办法实现你要的功能的
追问
我现在的跳转不是在同一个应用中,而是在两个不同的应用程序之间呢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式