为了让myapp://wallet
指向WalletActivity
,我编写了下面的代码,它成功了:
<activity
android:name=".ui.WalletActivity"
android:label="@string/title_activity_wallet"
android:screenOrientation="portrait"
android:theme="@style/MaterialThemeNoActionBar"
android:launchMode="singleTop"
android:exported="true">
<intent-filter android:label="@string/title_activity_link_wallet" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="myapp"
android:host="wallet" />
</intent-filter>
</activity>
我对
UserProfileActivity
做了类似的事情,但它在函数onCreate
的行中崩溃了(显然),因为我没有向该活动的意图发送任何值。那么,在这种情况下,有没有一种方法可以将id传递给被调用活动的意图,在正常情况下,我在调用活动中使用
String id = intent.getExtras().getString("id");
就可以做到这一点(其中id
是被调用活动的) 最佳答案
String id = intent.getExtras().getString("id")
对于deeplink是错误的。
您可以使用
Uri uri = getIntent().getData();
如果您提供了一个getter,那么您可以使用其中一个getter来检索您的
Intent
。例如id
String id = data.getQueryParameter("id");
应该给你
myapp://wallet/test?id=100