因此,我正在尝试在应用程序中执行deep-linking
,以确认用户输入的电子邮件。到目前为止,我无法打开我的应用程序并抛出后端给我的链接。
到目前为止,我已经做到了。
这是我的manifest.xml
<activity
android:name=".ui.registration.activities.ARegistration"
android:configChanges="orientation|keyboardHidden|screenSize"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
<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="https"
android:host="something.com"
android:path="/verify-email" />
</intent-filter>
</activity>
这是我在电子邮件中的网址
https://something.com/verify-email?registrationId=1111&token=12345
这是我的注册活动
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.a_registration)
colorStatusBar(frameRegistration, R.color.colorPrimary)
val data = intent?.data
val token = data?.getQueryParameter("token") //trying to obtain the token here
Toast.makeText(applicationContext,token,Toast.LENGTH_SHORT).show()
}
有人可以帮忙吗?
答案 0 :(得分:1)
您的代码正常工作。 Screen shot
但要触发您的应用,在浏览器中复制和粘贴网址不会影响。您应该使用带有链接的html并点击它,或者使用Android Studio [link] App Links Assistant
菜单中放置的tools
。
<!DOCTYPE html>
<html>
<body>
<a href="https://something.com/verify-email?registrationId=1111&token=12345">Lunch</h1>
</body>
</html>
答案 1 :(得分:1)
<data
android:host="something.com"
android:pathPattern="/verify-email"
android:scheme="https" />
粘贴这个就可以了。
或 如果这不起作用,请转到:设置->应用程序->您的应用程序->设置为默认值。并将“转到支持的网址”更改为始终询问或在此应用中。可能是您选择浏览器作为默认应用程序来打开URL链接