AndroidでカスタムURLスキームをテストする方法 質問する

AndroidでカスタムURLスキームをテストする方法 質問する

「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 が開きます。

おすすめ記事