使用Intent过滤器进行进程间通信

时间:2014-03-24 10:28:00

标签: android android-intent uri

我想通过使用网址或其他类型的休息启用来启用从不同应用程序调用我的应用程序,这样我的应用程序中的不同操作可以由不同的客户端执行。

例如有一个动作“a”可以帮助用户导航到我的应用程序中的特定屏幕。

我打算使用网址使用它,它可以是自定义方案或http。我已经阅读了自定义方案和http方案之间的争论:)。

因此,例如,如果客户端调用mysite.com://a?queryParam=1&queryParam=2,那么根据操作"a"和查询参数,我将导航到特定屏幕。

我在这里使用意图过滤器进行进程间通信。然后我会根据动作的类型编写一个url处理程序。可以从查询的最后一个路径段派生操作类型。查询参数的取消可以通过uri.getQueryParameters完成。在这种情况下使用intent过滤器和URI apis吗?

我读过可以用于进程间通信的AIDL,但是它非常紧密,客户端必须知道有关提供者或我的应用程序的大量信息。我想知道我的应用程序的其余类型启用。

欢呼声, Saurav

1 个答案:

答案 0 :(得分:1)

我不完全确定我理解了这个请求,但this answer对你来说似乎很好。

这样,您就可以使用Intent操作拦截所有android.intent.action.VIEW,但只能拦截与URI匹配的Intent个动作。因此,如果用户点击具有匹配网址方案的链接,则必须选择要打开它的应用程序(浏览器或您的应用程序)。获得{{1}}后,您可以对其进行分析并采取行动。