2016-07-10 2 views
2

두 개의 URL에 딥 링크해야하는 활동이 있지만 URL을 클릭 할 때마다 동시에 두 가지 활동이 표시됩니다. 어떻게하면 intent-filter 만 설정할 수 있습니까? 1 특정 URL?Android 디 링크가 제대로 작동하지 않습니다.

1 URL http://www.sample.com/newcars/models/33

과 그 활동

<activity 
     android:name=".ui.activities.NewCarModelEngineActivity" 
     android:label="@string/newCars" 
     android:screenOrientation="sensorPortrait"> 
     <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="sample.com" 
       android:pathPrefix="/newcars/engines/" 
       android:scheme="http"/> 
      <data 
       android:host="www.sample.com" 
       android:pathPrefix="/newcars/engines/" 
       android:scheme="http"/> 

      <data 
       android:host="newengine" 
       android:pathPattern="/..*/..*/..*" 
       android:scheme="sample"></data> 

     </intent-filter> 
    </activity> 

2 URL http://www.sample.com/usedcars/engines/9876543 과 그 활동

<activity 
     android:name=".ui.activities.UsedCarEngineDetailsActivity" 
     android:label="@string/usedCars" 
     android:screenOrientation="sensorPortrait"> 
     <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="sample.com" 
       android:pathPrefix="/usedcars/engines/" 
       android:scheme="http"/> 
      <data 
       android:host="www.sample.com" 
       android:pathPrefix="/usedcars/engines/" 
       android:scheme="http"/> 
      <data 
       android:host="usedengine" 
       android:pathPattern="/..*/..*/..*" 
       android:scheme="sample"></data> 
     </intent-filter> 
    </activity> 

답변

0

봅니다 별도의 텐트 필터에 scheme="sample" 데이터를 입력합니다. 그것은 버그처럼 보이지만 때로는 안드로이드는 경로 접두어를 무시하고 다른 접두어가 있으면 비어 있거나 와일드 카드를 사용합니다.

host="*sample.com"을 사용하여 sample.comwww.sample.com을 모두 일치시킬 수도 있습니다. 첫 번째 활동에 대한

예 :

<activity 
    android:name=".ui.activities.NewCarModelEngineActivity" 
    android:label="@string/newCars" 
    android:screenOrientation="sensorPortrait"> 

    <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:scheme="http" 
      android:host="*sample.com" 
      android:pathPrefix="/newcars/engines/" /> 

    </intent-filter> 

    <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:scheme="sample" 
      android:host="newengine" 
      android:pathPattern="/..*/..*/..*" /> 

    </intent-filter> 

</activity> 
+0

난 그냥 그 시도하고 그것은 작동하지 않았다, 그것은 여전히 ​​모두 활동을 보여줍니다. –