我可以从其他应用程序安装应用程序,然后在打开它时立即启动它的意图吗?

时间:2012-09-05 16:04:55

标签: android android-intent android-package-managers

后台:我有一个需要使用其他应用的意图的应用。如果在需要时未安装此其他应用程序,我想提供下载和安装。

问题:如果下载的应用程序在安装后立即打开(由用户),我需要它打开第一个应用程序所需的特定意图,而不是正常打开它。见下图。

我有哪些选项,是否有共同的模式?提前谢谢。

enter image description here

1 个答案:

答案 0 :(得分:2)

  

如果在安装后立即打开(由用户)下载的应用程序,我需要它打开第一个应用程序需要的特定意图,而不是正常打开它。

严格来说,这是不可能的。没有什么可以阻止用户按下“打开”,这将表现得正常 - 你无法改变它。

如果你是嗯,“猴子蹦床”应用程序的作者,你可以通过各种黑客来识别它是在安装之后打开的,嗯,“动物奥运会”,所以它可以路由它的逻辑因此(使用自定义粘性广播,让第二个应用程序使用一些IPC来询问第一个应用程序“哟,我应该做一些特别的事情吗?”等。)。

还可以想象,在用户点击完成或打开(或HOME或BACK或其他)之前,将广播ACTION_PACKAGE_ADDED。在这种情况下,您可以收听该广播,确定刚安装的应用程序确实涉及simian翻筋斗,并致电startActivity()。这对用户来说有点刺耳,因为他们会突然从安装过程转移到这个新的应用程序中。而且,由于ACTION_PACKAGE_ADDED的精确时间没有记录,您的里程可能会有所不同(例如,在广播进入您的应用之前,用户仍然有机会点击打开)。