深入链接webview内的右侧页面
问题描述:
我为我们的网站制作了一个android webview应用程序。现在我想添加深层链接到应用程序,就像有人点击我们网站的链接时,您可以使用webview应用程序而不是Chrome浏览器打开它。我说这些我的清单:深入链接webview内的右侧页面
<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="www.example.com" />
现在打开网页流量的应用程序,当我点击这是关系到我们一个链接,但它不打开正确的页面,它只是再次启动应用程序。但我想直接打开webview应用程序中的正确页面。
编辑:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//added
Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
但似乎未使用的变量操作和数据。 我像这样加载webview(三种语言)。
//loads the main website
//sets the matching language
web2.clearCache(true);
String loc = Locale.getDefault().toString();
if (loc.startsWith("de")) {
web2.loadUrl("https://www.example.de");
} else if (loc.startsWith("nl")) {
web2.loadUrl("https://www.example.nl");
} else {
web2.loadUrl("https://www.example.com");
}
答
当您的活动通过深层链接打开时,您必须使用您的活动收到的意图数据。 Kotlin示例:
class WebViewActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_webview)
val uri = intent.data
webView.loadUrl(uri.toString())
}
答
现在我做了这样的事情。这是解决方案。
Intent intent = getIntent();
Uri data = intent.getData();
String loc = Locale.getDefault().toString();
if (data==null && loc.startsWith("de")) {
web2.loadUrl("https://www.example.de");
} else if (data==null && loc.startsWith("nl")) {
web2.loadUrl("https://www.example.nl");
} else if (data==null && !loc.startsWith("de") && !loc.startsWith("nl")){
web2.loadUrl("https://www.example.com");
} else {
web2.loadUrl(data.toString());
}
就像现在,你可以在编辑见上面,我加了一些东西,我的代码(https://developer.android.com/training/app-links/deep-linking.html#testing-filters)但它不起作用。 – electromomo
我刚刚尝试过使用adb shell,我开始-W -a android.intent.action.VIEW -d“https://www.example.com”,它工作。我得到了意图选择器,并开始我的应用程序,而不是镀铬 –
我在哪里添加它?你能告诉我你的榜样吗? – electromomo