0

我已經更新了清單文件以支持深度鏈接。我從運行(編輯配置)中檢查它,並打開指定的活動。如何在Deep Link中提供Intent數據

現在我需要用深層鏈接發送一些數據。那麼它應該是什麼程序。我添加了另一個數據屬性,但我不明白如何以相同的鍵/值方式在Activity中獲取數據。

我在活動

Intent intent = getIntent(); 
    String action = intent.getAction(); 
    Uri data = intent.getData(); 

intent.getData()獲取意向書這樣有這個值= MYAPP:// videodeeplink

我看了關於這一部分的文章和教程,但我無法得到這個。請引導我如何在深層鏈接中添加和獲取一些數據。

MYAPP:// videodeeplink

<activity 
    android:name=".VideosListActivity" 
    android:screenOrientation="portrait" 
    android:theme="@style/AppTheme" > 

    <intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.BROWSABLE" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <data android:scheme="myapp" android:host="videodeeplink"/> 
     <data android:scheme="videoURL" android:host="videoURL"/> 
    </intent-filter> 


</activity> 

回答

1

要送你應該在你的數據標記添加pathRrefix參數如下面的數據 -

<data 
    android:host="@string/host" 
    android:pathPrefix="path" 
    android:scheme="@string/schema" /> 

現在,當你想它解析你可以像使用意圖一樣使用pathSegments。

mainIntent = getIntent(); 
    if (mainIntent!=null && mainIntent.getData()!=null && (mainIntent.getData().getScheme().equals("http"))){ 
      Uri data = mainIntent.getData(); 
      List<String> pathSegments = data.getPathSegments(); 
      if(pathSegments.size()>0) 
      String prefix=pathSegments.get(0); // This will give you prefix as path 
+0

謝謝,那麼最終用戶將如何創建深層鏈接?我們是否需要在深層鏈接URL中添加前綴?myapp:// videodeeplink/pathValue? – Kirmani88

+0

你可以做的是改變你的前綴爲路徑/ data1/data2 /。所以,當你將遍歷pathSegements列表,使用pathSegments.get(1)等,讓您的數據和使用的myapp:// videodeeplink/pathValue作爲深層鏈接URL – Gautam

+0

謝謝你,讓我試試這個:) – Kirmani88

相關問題