「appname://」のようなカスタム URL スキームを必要とするアプリを開発中です
いろいろ検索して、関連する質問もたくさん見つけたのですが、まだ問題があります。
この URL スキームをブラウザからテストするにはどうすればよいでしょうか? 現在、ブラウザのアドレス バーに「appname://」と入力すると、直接 Google 検索に移動します。
AndroidManifest.xml に次の記述があります:
<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="appname"
android:host="appnamehost"/>
</intent-filter>
ベストアンサー1
adb を使えば簡単です。次のコマンドを確認してください:
adb shell am start -a android.intent.action.VIEW -d "appname://appnamehost" your.package.name
ただし、パッケージ名をスキーマとして使用する必要があります。これにより、競合がないことを絶対に確認できます (または、詳細にはインテント チューザー)。
複数のデバイスがある場合は、 を実行する必要がありますadb devices
。これにより、次のような出力が表示されます。
List of devices attached
1645e1d0b86b device
S9WM00904386 device
次に、上記の ID を使用して、パラメータで具体的なデバイスをアドレス指定できます-s
。これにより、次のようなコマンド ラインが生成されます。
adb -s S9WM00904386 shell [...]
ブラウザ リンクの場合も簡単です。次の HTML 行を追加するだけです。
<a href="appname://appnamehost">Click me</a>
URL にフォールバックが必要な場合は、インテント URL を試してください:
<a href="intent://apphostname#Intent;scheme=appname;package=your.package.name;S.browser_fallback_url=http%3A%2F%2Fwww.example.com;end">with alternative</a>
これにより、スキーマが一意でない場合でもアプリが開き、アプリがインストールされていない場合は example.com が開きます。