Deep Linking无法在android中运行。我在这里贴了我的清单代码。当我测试时,它进入网站,而不是在我的应用程序中打开我的活动。有人可以帮我解决这个问题吗?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.clinicloud.app" >
<application
android:name=".MainApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
<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.XXXX.com"
android:pathPrefix="/xyz"
android:scheme="http"/>
</intent-filter>
</activity>
<activity
android:name=".OnboardingActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ProfileViewActivity"
android:label="@string/title_activity_profile_view"
android:theme="@style/AppTheme.NoActionBar" >
</activity>
</application>
</manifest>
更新:
adb shell am start -W -a android.intent.action.VIEW -d“http://www.clinicloud.com/xyz”com.clinicloud.app
使用adb进行测试会打开应用,但只是浏览器无法打开应用。
答案 0 :(得分:1)
在Manifest.xml
<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.clinicloud.com"
android:path="/xyz"
android:scheme="http" />
</intent-filter>
为测试创建另一个项目并在代码
下运行Intent i = new Intent(
Intent.ACTION_VIEW , Uri.parse("http://www.clinicloud.com/xyz")
);
startActivity(i);
您也可以在链接中传递参数。有关详细信息,请参阅我的博文Make a link in the Android browser start up my app?
答案 1 :(得分:0)
按照 Android 开发人员团队的建议,通过 adb 测试深层链接非常烦人。我们不会明白我认为的问题的要旨。 我们想要一种直接的方法,例如将链接粘贴到已安装该应用程序的同一设备中的浏览器,点击 GO,然后该应用程序出现。但不幸的是,它不起作用。
原因:
这不是一个纯粹的链接,当你去浏览器的 URL 搜索时,它实际上是一个不同的 URL,例如:'https://www.google.com/search?....'
解决方案:打开纯链接
正如@Parag Chauhan 建议的那样,使用另一个应用程序打开链接,确定它是一个绝对有效的解决方案,因为它是一个纯链接。然而,这并不像预期的那样实用。
或者,
2.1.您可以使用链接构建自己的简单网页(简单文件*.html),然后单击它打开一个纯链接。以下是网页示例:
<html>
<h1>
<a id="deeplink" href="ss.wohui.learn://subscribed">Deep Link</a>
</h1>
</html>
2.2.将 ss.wohui.learn://subscribed
替换为您的深层链接。
2.3.将文件下载到您的设备。
2.4.用浏览器打开。
2.5。点击深层链接。
2.6.应用程序将启动。