deep link 启动应用程序但说 uri 为空
deep link starts app but says uri is null
我在我的应用程序中实现了深度 linking。果然,当我从浏览器中单击 link 时,它会打开该应用程序。但是当我这样做时
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
action
和 data
均为空。什么会导致这样的事情?我想它打开我的应用程序意味着它有一个 uri。
这是我的意图过滤器
<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:host="www.mywebsite.com"
android:scheme="http"/>
<data
android:host="www.mywebsite.com"
android:scheme="https"/>
<data
android:host="mywebsite.com"
android:scheme="http"/>
<data
android:host="mywebsite.com"
android:scheme="https"/>
<data
android:host="/*"
android:scheme="mywebsite"/>
</intent-filter>
确保您检查的是右边的 Intent
Activity
。
例如您的 intent-filter 是在启动 Activity
时设置的,而您正在检查以下 Activity
上的 Intent
我在我的应用程序中实现了深度 linking。果然,当我从浏览器中单击 link 时,它会打开该应用程序。但是当我这样做时
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
action
和 data
均为空。什么会导致这样的事情?我想它打开我的应用程序意味着它有一个 uri。
这是我的意图过滤器
<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:host="www.mywebsite.com"
android:scheme="http"/>
<data
android:host="www.mywebsite.com"
android:scheme="https"/>
<data
android:host="mywebsite.com"
android:scheme="http"/>
<data
android:host="mywebsite.com"
android:scheme="https"/>
<data
android:host="/*"
android:scheme="mywebsite"/>
</intent-filter>
确保您检查的是右边的 Intent
Activity
。
例如您的 intent-filter 是在启动 Activity
时设置的,而您正在检查以下 Activity