2017-02-09 10 views
0

特定のカスタムスキームのリンクがクリックされたときにアプリを起動します。 しかし、それだけでADBから動作します。リンクをクリックするか、URLをブラウザに直接書き込まれたときにそれは動作しませんAndroidアプリのリンクはadbからのみ提供されます

./adb shell a start -a Android.Intent.Action.VIEW -d "ghd://whateversite.com"

私が使用している:

<activity 
     android:name=".link.LaunchActivity" 
     android:theme="@android:style/Theme.NoDisplay"> 
     <intent-filter> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </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="ghd" /> 
     </intent-filter> 
    </activity> 

答えて

0

設定android:hostをあまりにもインテントフィルタに

<activity 
    android:name=".link.LaunchActivity" 
    android:noHistory="true" 
    android:theme="@android:style/Theme.NoDisplay"> 
    <intent-filter android:autoVerify="true"> 
     <action android:name="android.intent.action.VIEW" /> 

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

     <data android:scheme="ghd" android:host="whateversite.com" /> 
    </intent-filter> 
</activity> 
+0

こんにちは、応答に感謝します。しかし、 "whateversite.com"は、実際には、whateversite :)常に存在する唯一の部分は、スキームghdです。 – RominaV

0

はあなた<intent-filter/>からautoVerify=trueを削除するようにしてください。 Androidはとき

documentationに述べたようautoVerify属性が存在している、あなたのアプリケーションをインストールすることは、アプリケーションのインテントフィルタのすべてでWebのURIに関連付けられているすべてのホストを検証しようとするシステムの原因となります。システムは、マニフェストで宣言されたすべてのアプリリンクパターンを正常に検証した場合にのみ、アプリを指定されたURIパターンのデフォルトハンドラーとして扱います。

ホストを追加していないので、これは動作していない可能性があります。

+0

あなたはそれが理にかなっていません。私はそれを削除しましたが、その動作は同じです。ありがとう! – RominaV

+0

私は今私の側に全く同じものを持っているので、それは変です、そしてそれはちょうどうまくいきます...あなたの例では、あなたは "mdw"スキームを使用していて、あなたのadbコマンドは "ghd"それはここの問題です、私は誤植かもしれません。 – maxoumime

+0

これは:Pだから、あなたが直接ブラウザに書き込むときにはうまくいきますか? – RominaV

関連する問題