1

Android 2.3 (API レベル 10) 以前のバージョンで Android アクティビティを BROWSABLE インテントとして登録するには、別の手順がありますか?

カスタム スキームを使用するインテント フィルターを使用してアクティビティを設定しました。

<intent-filter>
    <action name="android.intent.action.VIEW"/>
    <category name="android.intent.category.DEFAULT"/>
    <category name="android.intent.category.BROWSABLE"/>
    <data scheme="@string/myCallbackProtocol"/>
</intent-filter>

2.3 を実行している物理デバイスで、SDK のシミュレーターを 2.3 に設定すると、ブラウザー アプリケーションはカスタム プロトコルを使用してリンクをアプリに送信します。

ただし、シミュレーターを 2.2 または 2.1 に縮小すると、ブラウザーはリダイレクトせず、代わりにサーバーが見つからないことを示します。これらの API レベルを実行している実際のデバイスはありません。

2.1 以降を実行しているデバイスと互換性があるように、アプリをリリースしたいと考えています。これが可能であると仮定するのは間違っていますか?Androidのドキュメント によると、Intent.CATEGORY_BROWSABLE1.0から利用可能です。

ありがとう!

4

2 に答える 2

1

BROWSABLE以前ではないにしても、少なくとも 2.1 に戻すことに問題はありませんでした。ただし、文字列リソースで定義されているものは言うまでもなく、カスタム スキームは実装していません。の使用方法を示すサンプル プロジェクトを次に示しますBROWSABLE

于 2011-05-18T20:33:27.370 に答える
1

解決しました。BROWSABLE少なくとも Android 2.1 までは動作します。2.3 より前では<data scheme="">、文字列リソースから をロードすると、Activity が正しく登録されないようです。

@string/参照をハードコードされた値に変更すると、目的の結果が得られます。

<intent-filter>
    <action name="android.intent.action.VIEW"/>
    <category name="android.intent.category.DEFAULT"/>
    <category name="android.intent.category.BROWSABLE"/>
    <data scheme="my-custom-protocol"/>
</intent-filter>
于 2011-05-19T17:43:06.780 に答える