首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Air的“新窗口”中打开另一个Android应用程序

从Air的“新窗口”中打开另一个Android应用程序
EN

Stack Overflow用户
提问于 2014-03-19 23:17:02
回答 2查看 2.2K关注 0票数 2

这事有点牵扯,所以请容忍我。

我有两个Android应用程序--一个内置于Adobe ( 'launcher'),一个从google商店下载(目标)。在某种程度上,我希望‘发射器’打开‘目标’,并切换到它。目前,我正在通过“意图”协议这样做,如下所示:

代码语言:javascript
复制
navigateToURL(new URLRequest('intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;component=com.magix.camera_mx/com.magix.android.cameramx.main.MainMenu;end'));

..。它可以工作,但当“目标”(本例中的CameraMX)打开时,它使用与“启动程序”相同的“窗口”。这里有两个截图,在打开“目标”之前和之后:

这很不方便,但我可以忍受它,如果它是一致的。然而,当我尝试完全相同的过程时,只会启动一个像金山Office这样的任意的应用程序:

代码语言:javascript
复制
navigateToURL(new URLRequest('intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;component=cn.wps.moffice_eng/cn.wps.moffice.documentmanager.PreStartActivity;end'));

“目标”和“发射器”作为一个很好的独立窗口存在。

为什么会这样呢?是什么决定了应用程序是作为单独的窗口出现,还是重用当前的窗口?我已经尝试过一些--特别是SoulCraft和星图在一个新窗口中的发布,但大多数其他窗口都重用了当前的窗口。

这是我在空中应用程序中控制的东西吗?这里发生了什么事?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-19 23:43:57

你所说的“窗口”在Android中被称为“任务”。通过设置适当的标志,即FLAG_ACTIVITY_NEW_TASK (注意launchFlags=0x10000000),您应该能够强制目标应用程序在一个新任务中打开:

代码语言:javascript
复制
intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=<your-package-name>/.<your-activity-name>;end
票数 3
EN

Stack Overflow用户

发布于 2014-03-19 23:54:00

两种场景之间的区别(场景1保留在单个任务中,场景2启动一个新任务)是由于每个“目标”应用程序的意图-筛选清单定义。

如果不需要意图的结果,可以添加标志(任务),如下所示:

代码语言:javascript
复制
navigateToURL(new URLRequest('intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=com.magix.camera_mx/com.magix.android.cameramx.main.MainMenu;end'));
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22520218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档