这事有点牵扯,所以请容忍我。
我有两个Android应用程序--一个内置于Adobe ( 'launcher'),一个从google商店下载(目标)。在某种程度上,我希望‘发射器’打开‘目标’,并切换到它。目前,我正在通过“意图”协议这样做,如下所示:
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这样的任意的应用程序:
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和星图在一个新窗口中的发布,但大多数其他窗口都重用了当前的窗口。
这是我在空中应用程序中控制的东西吗?这里发生了什么事?
发布于 2014-03-19 23:43:57
你所说的“窗口”在Android中被称为“任务”。通过设置适当的标志,即FLAG_ACTIVITY_NEW_TASK (注意launchFlags=0x10000000),您应该能够强制目标应用程序在一个新任务中打开:
intent:#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10000000;component=<your-package-name>/.<your-activity-name>;end发布于 2014-03-19 23:54:00
两种场景之间的区别(场景1保留在单个任务中,场景2启动一个新任务)是由于每个“目标”应用程序的意图-筛选清单定义。
如果不需要意图的结果,可以添加标志(任务),如下所示:
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'));https://stackoverflow.com/questions/22520218
复制相似问题