【发布时间】:2017-04-05 20:41:10
【问题描述】:
我想从我的 Android 应用程序中的 HTML 页面调用活动。 我会在里面放什么
<a href="TestActivity.java">Test Activity</a>
【问题讨论】:
我想从我的 Android 应用程序中的 HTML 页面调用活动。 我会在里面放什么
<a href="TestActivity.java">Test Activity</a>
【问题讨论】:
使用 <intent-filter> 和 <data> 元素。把这个放在你的<activity> 里面你的AndroidManifest.xml:
<intent-filter>
<data android:scheme="my.special.scheme" />
<action android:name="android.intent.action.VIEW" />
</intent-filter>
然后,在您的网络应用程序中,您可以放置如下链接:
<a href="my.special.scheme://other/parameters/here">
当用户点击链接时,您的应用将自动启动(因为它可能是唯一可以处理 my.special.scheme:// 类型 URI 的应用)。唯一的缺点是,如果用户没有安装应用程序,他们会收到错误消息。
【讨论】:
我认为最好的方法是通过 webviewclient 覆盖 URL -> shouldOverrideUrlLoading
override fun shouldOverrideUrlLoading(view: WebView ? , request : WebResourceRequest ? ): Boolean {
val url: String = request ? .url.toString()
if ((Uri.parse(url).getHost().contains("myactivity"))) {
val myIntent = Intent(context, MainActivity::class.java)
context.startActivity(myIntent)
return true
}
return false
}
HTML:<a href="http://myactivity">LINK</a>
【讨论】: