2014-03-24 34 views
0

我想通過使用URL或其他支持類型來從不同的應用程序調用我的應用程序,以便不同的客戶端可以執行我的應用程序中的不同操作。使用意圖過濾器進行進程間通信

例如,有一個動作「a」可以幫助用戶導航到我的應用程序中的特定屏幕。

我打算使用它使用它的URL可以是自定義計劃或http。我已經閱讀了自定義方案和http方案之間的爭論:)。

因此,例如,如果客戶端調用mysite.com://a?queryParam=1&queryParam=2然後取決於行動"a"和查詢參數我正在導航到特定的屏幕。

我在這裏使用intent過濾器進行進程間通信。然後,我將根據操作的類型編寫一個url處理程序。操作類型可以從查詢的最後一個路徑段派生。查詢參數的獲取可以通過uri.getQueryParameters來完成。對於這種場景,是否使用了意圖過濾器和URI apis?

我已經閱讀過關於AIDL的文章,可以用於進程間通信,但是這個綁定非常緊密,客戶端必須知道很多關於提供者或我的應用程序的信息。我不知何故想要我的應用程序的其餘類型啓用。

歡呼聲, Saurav

回答

1

我不能完全肯定我理解了請求,但this answer似乎是一個好一個給你。

這可以讓您攔截所有Intent s的動作,但只有那些與您的URI匹配的動作。因此,如果用戶點擊具有匹配url方案的鏈接,他將不得不選擇應用程序來打開它(瀏覽器或您的應用程序)。一旦你有了Intent,你可以分析它並採取你的行動。

+0

是的,這似乎是我的方法看起來很好 – saurav