Android 中的动态深层链接

San*_*gya 5 android deep-linking deeplink

我正在浏览文档http://developer.android.com/training/app-indexing/deep-linking.html以了解 Android 中的深层链接。我在我的 Android 应用程序中调用了一个活动,WalletActivity并且通过在AndroidManifest文件中进行必要的更改,我成功地为此创建了深层链接。

但是,我的WalletActivity包含一个选项列表,点击它会将我带到另一个活动WalletRechargeActivity,其内容取决于从 中的选项列表中选择的相应选项WalletActivity。现在,我想要一个可以让我直接登陆相应WalletRechargeActivity屏幕的深层链接。我怎么做?

例如,如果example://wallet让我进入WalletActivity,我希望通过 50 美元的充值选项example://wallet/abcd50让我进入相应的WalletRechargeActivity屏幕。而且这个值abcd50可以随任何事物变化,并且不是预先固定的,所以我不能将它添加到AndroidManifest文件WalletRechargeActivity中,对吧?我需要动态处理它。所以,你能告诉我我该怎么做吗?

Sim*_*uis -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>
Run Code Online (Sandbox Code Playgroud)