Динамическая линковка в Android

Я изучал документ http://developer.android.com/training/app-indexing/deep-linking.html чтобы узнать о глубоких ссылках в Android. У меня есть активность в моем приложении для Android под названием WalletActivity и мне удалось успешно создать Deeplink для этого путем внесения необходимых изменений в AndroidManifest файл.

Но мой WalletActivity содержит список опций, нажав на которые он попадает мне на другой вид деятельности WalletRechargeActivity, содержание которого зависит от соответствующей опции, выбранной из списка опций в WalletActivity, Теперь я хочу глубокую ссылку, которая может посадить меня прямо на соответствующие WalletRechargeActivity сам экран. Как я могу это сделать?

Например, если example://wallet приземляет меня WalletActivityЯ хотел бы что-то вроде example://wallet/abcd50 посадить меня в соответствующие WalletRechargeActivity экран с возможностью пополнения 50 долларов. И это значение abcd50 может варьироваться от чего-либо до чего-либо, и не фиксируется заранее, поэтому я не могу добавить его в AndroidManifest файл в отношении WalletRechargeActivity либо верно? Мне нужно справиться с этим динамически. Итак, вы можете сказать мне, как мне это сделать?

1 ответ

Вот пример кода для направления пользователя в WalletActivity или WalletRechargeActivity. Затем вы можете использовать getIntent().getData() метод для анализа содержимого URL.

<activity android:name=".WalletActivity">
    <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="example" />

        <data android:host="wallet" />
    </intent-filter>
</activity>
<activity android:name=".WalletRechargeActivity">
    <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="example" />

        <data android:host="wallet" />

        <data android:pathPattern="/..*" />
    </intent-filter>
</activity>
Другие вопросы по тегам