2013-04-30 195 views
0

我想知道是否可以打开某个特定的操作,例如,我打算在Gmail应用程序中打开一封新邮件,或者在whatsapp这样的新邮件上打开新邮件。在另一个应用程序内启动Android应用程序的操作

我正在尝试在应用程序中午餐应用程序的具体操作,因此它与多个应用程序进行交互。

如果有可能如何实现这一点。

到目前为止,我确实可以用软件包名午餐申请。

或从getInstalledPackages获取软件包列表,但我无法找到发布应用程序操作。

是依赖于应用程序?

以及我知道,我可以这样做:

Intent i = new Intent(Intent.ACTION_SEND); 
i.setType("text/plain"); 

提示该行动选择用户(如果不是默认值)。但我无法找到相关信息来午餐应用程序滑动用户输入。

我希望这至少可以用于最流行的应用程序。

回答

2

getInstalledPackages几乎包含了您可以从PackageManager获得的有关应用程序的所有内容。但它不包含每个组件的意图。特别是,ActivityInfo不包含一个字段来存储意图或操作来启动它。据我所知,很难以编程方式获得你想要的东西。

但是,对于流行的应用程序,你可以直接有他们的apks,得到他们的AndroidManifest.xml,并得到你想要的手动。

如果您想在多个组件(应用程序)可以处理您的操作时跳过用户输入,则需要通过intent.setComponent()明确指定组件。

Intent intent = new Intent(Intent.ACTION_NAME); 
intent.setComponent(new ComponentName("com.package.address","com.package.address.TargetActivity")); 
startActivity(intent); 
+0

感谢您的回答是正确的,我必须得到清单,并从那里得到的意图,至少过滤器是“普通” – cesaregb 2013-05-06 14:22:48

相关问题