Android 原生功能与 Vue 交互实现
warning:
这篇文章距离上次修改已过208天,其中的内容可能已经有所变动。
import android.webkit.WebView
import android.webkit.WebViewClient
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val myWebView: WebView = findViewById(R.id.webview)
myWebView.settings.javaScriptEnabled = true
// 设置 WebViewClient 以确保链接在 WebView 内部打开,而不是使用其他浏览器
myWebView.webViewClient = object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView, url: String): Boolean {
// 这里可以添加逻辑以处理特定的 URL,例如打开新的 Activity 或者处理其他应用的逻辑
view.loadUrl(url)
return true
}
}
// 加载 Vue 页面
myWebView.loadUrl("file:///android_asset/index.html")
}
}
这段代码展示了如何在 Android 应用中嵌入一个 WebView 来加载位于 assets 文件夹中的 Vue 页面。在实际使用时,你需要确保 index.html
文件存在于 assets
文件夹中,并且 WebView 有正确的权限来加载本地资源。此外,WebView 的设置确保了 Vue 应用中的 JavaScript 代码被启用,并且链接的处理被限制在 WebView 内部。
评论已关闭