0

딥 링크를 지원하도록 매니페스트 파일을 업데이트했습니다. 실행 (구성 편집)에서 확인한 후 지정된 활동을 엽니 다.딥 링크에서 의도 데이터를 제공하는 방법

이제 딥 링크로 일부 데이터를 보내야합니다. 그래서 그것의 절차가되어야합니다. 다른 데이터 특성을 추가했지만 같은 키/값 방식으로 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에 prefix를 추가해야합니까? myapp : // videodeeplink/pathValue? – Kirmani88

+0

당신이 할 수있는 일은 접두어를/data1/data2/경로로 바꾸는 것입니다. 따라서 pathSegements 목록을 반복 할 때 pathSegments.get (1)을 사용하여 데이터를 얻고 myapp : // videodeeplink/pathValue를 디플레이션 URL로 사용하십시오. – Gautam

+0

감사합니다. 시도해 보겠습니다. – Kirmani88

관련 문제