我想启动用户从我的应用程序中选择的应用程序。不过,我不确定我会如何去做这件事。我试过这个:从我的应用程序启动外部应用程序
Intent intent = new Intent();
intent.setAction(Contacts.Intents.SHOW_OR_CREATE_CONTACT);
startActivity(intent);
但是,这似乎是抛出一个错误,并强制关闭我的应用程序。我也试过在AndroidManifest文件中加入:
<action android:name="Contacts.Intents.SHOW_OR_CREATE_CONTACT"/>
但无济于事。
看看Logcat显示它是“IOexception - 没有这样的文件或目录”。由此产生了一些问题。我通读了Android文档,发现Contact.Intents类已被弃用。不过,它是继任者,ContactContracts旨在API级别5,而我的API级别为3级。这是否会成为问题?此外,我已将此应用程序硬编码到代码中。有没有办法检索用户选择的任何应用程序的意图,以便它们可以启动?
谢谢,这工作!这是否意味着我必须为每个应用程序硬编码额外的参数? – keyboardP 2009-12-29 22:57:38
那么你需要知道发生什么意图,所以在这个意义上你需要硬编码的一些值。但是,你不是硬编码的应用程序名称或任何东西,只是一个意图的行动。所以要查看图像(不关心哪个应用程序将处理它),你可以这样做:'新的Intent(Intent.ACTION_VIEW,Uri.parse(“content://foo/example/me.jpg”));'只要有一个应用程序可以处理通用'VIEW'动作和JPEG文件类型的组合,那么这就是你所需要的。 – 2009-12-29 23:08:44
啊,我现在明白了。这使得它更容易大声笑:)。谢谢您的帮助。 – keyboardP 2009-12-29 23:19:25