2017-01-23 13 views
2

私のアプリのパッケージ名はcom.xxx.digitalです。adbディープリンクのトリガーが特定のパラメータで動作しない

次は正常に動作します:

❯ adb shell am start -W -a android.intent.action.VIEW -d "xxx://?campaign=SG_Smartbanner" com.xxx.digital 
Starting: Intent { act=android.intent.action.VIEW dat=xxx://?campaign=SG_Smartbanner pkg=com.xxx.digital } 
Status: ok 
Activity: com.xxx.digital/.views.activities.ProductListingActivity 
ThisTime: 827 
TotalTime: 1669 
WaitTime: 1699 
Complete 

ただし、次のようにはありません。

❯ adb shell am start -W -a android.intent.action.VIEW -d "xxx://?campaign=SG_Smartbanner&media_source=Mobilesite" com.xxx.digital 
/system/bin/sh: com.xxx.digital: not found 

❯ adb shell am start -W -a android.intent.action.VIEW -d "xxx://?campaign=SG_Smartbanner&af_deeplink=true" com.xxx.digital 
/system/bin/sh: com.xxx.digital: not found 
Starting: Intent { act=android.intent.action.VIEW dat=xxx://?campaign=SG_Smartbanner } 
Status: ok 
Activity: android/com.android.internal.app.ResolverActivity 
ThisTime: 322 
TotalTime: 322 
WaitTime: 349 
Complete 

私はここに欠けている何か?

たManifest.xml

<activity 
      android:name=".views.activities.DeepLinkActivity" 
      android:launchMode="singleInstance" 
      android:noHistory="true" 
      android:screenOrientation="portrait" 
      android:theme="@android:style/Theme.Translucent.NoTitleBar" 
      android:windowSoftInputMode="stateAlwaysHidden"> 

      <!-- custom scheme --> 
      <intent-filter 
       android:autoVerify="true" 
       android:label="@string/app_name"> 
       <action android:name="android.intent.action.VIEW"/> 

       <category android:name="android.intent.category.DEFAULT"/> 
       <category android:name="android.intent.category.BROWSABLE"/> 

       <data 
        android:scheme="xxx"/> 
      </intent-filter> 
</activity> 

答えて

2

あなたは特殊文字を使用する場合は、引用符であなたのadbシェルコマンドをラップする必要があります。

adb shell 'am start -W -a android.intent.action.VIEW -d "xxx://?campaign=SG_Smartbanner&af_deeplink=true" com.xxx.digital' 
+0

を興味があるだけに、私はURLをエンコードする試みたが、それはどちらか動作しませんでした。私はurlencodingも特殊文字の世話をするだろうと思った。なぜそのようなアプローチがうまくいかないのか知っていますか? – ericn

+1

一部の文字は、ADBシェルコマンド解析を中断する可能性があります... –

関連する問題