【发布时间】:2012-07-28 16:35:34
【问题描述】:
我一直在搜索,但找不到可以 100% 澄清我的话题。
我的问题是:如何在我自己的应用上启动 android 的应用偏好活动(来自联系人、消息等)?
我举个例子: 想象一下,我正在开发一个允许用户快速访问消息设置的应用程序。我不需要发送或接收任何信息,我只需要打开活动,为它创建一个快捷方式。
【问题讨论】:
我一直在搜索,但找不到可以 100% 澄清我的话题。
我的问题是:如何在我自己的应用上启动 android 的应用偏好活动(来自联系人、消息等)?
我举个例子: 想象一下,我正在开发一个允许用户快速访问消息设置的应用程序。我不需要发送或接收任何信息,我只需要打开活动,为它创建一个快捷方式。
【问题讨论】:
此线程中的最佳答案有解决方案: android: how do i open another app from my app?
还要检查: http://android-developers.blogspot.com/2009/01/can-i-use-this-intent.html
要打开设置,您可以尝试: startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS, 0));
【讨论】:
intent.setDataAndType(path, "application/pdf");,但我使用他的链接 developer.android.com/guide/appendix/g-app-intents.html 搜索了 Uri 可用的 path,它只给了我浏览器的 Uri,谷歌地图和拨号器...
有人知道这是否可以做到甚至打开应用程序的特定位置吗?
您不需要知道这些操作的任何特定位置或特定应用,只需查看Intent.ACTION_PICK。
【讨论】:
在代码中编写 Explicit Intent 将转到您应用的特定活动和使用相同的格式转到其他应用的特定活动没有区别。需要注意的几件事:(1)接收活动可能期待特定数据,否则会失败。 (2) 您正在考虑的标准应用程序,例如联系人、消息,而您可以在 Android 开源项目 (AOSP) 中找到它们的来源,制造商可能会更改它们,因此活动名称和必要的额外数据可能会有所不同。
为了在所有不同的 Android 制造商之间保持尽可能多的兼容性,您应该坚持使用适当的操作/数据的标准隐式 Intent。
【讨论】: