2017-08-25 31 views
1

我想要oauth2身份驗證的回調重定向到我的應用。我知道chrome的意圖過濾器,但它需要用戶手動要求應用程序打開。我在互聯網上閱讀它不可能自動完成,但像Instagram甚至谷歌的IO應用程序都可以從瀏覽器打開(這裏有一些示例https://instagram.com/_u/instagramhttps://events.google.com/io/schedule)。我也嘗試過意圖過濾器(在清單中),但它們也不起作用。我不需要應用程序由oauth中的回調url觸發,如果需要,我可以使用後端。我如何實現這一目標?將url重定向到應用android

+0

同樣的事情,我需要從我的應用程序回調條紋oauth。 –

回答

0

我終於找到問題所在。我嘗試使用JavaScript重定向到我的應用程序,但Chrome確實阻止了我的請求,所以我試圖在標題中進行操作,並且它工作正常!

0

您需要什麼深層鏈接。要在鏈接上打開您的應用程序,請單擊您需要在清單中添加intent filer「android.intent.action.VIEW」。

<intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data 
       android:host="example.com" 
       android:pathPrefix="/api/v1/view" 
       android:scheme="http" /> 
     </intent-filter> 

一旦你建立具有相同簽名的鏈接,如清單Android系統提到將增加你的應用程序中選擇器在你的應用程序中打開鏈接,你將得到的數據「getIntent()的getData()」在各自的活動。

如果未安裝應用程序,則鏈接將自身在瀏覽器中打開。然後在瀏覽器中處理它。

要從瀏覽器發送意圖,您需要遵循與清單相同的模式。

"intent://example.com/api/v1/view#Intent;scheme=http;package=com.app;category=android.intent.category.BROWSABLE;component=com.app.yourActivityname;action=android.intent.action.VIEW;end 
+0

我已經嘗試了兩種解決方案。第一個不起作用,第二個要求用戶請求打開應用程序 –