This commit is contained in:
moreoronce 2024-10-05 21:18:51 +08:00
parent d4bab879d6
commit 87a9abc1f2
2 changed files with 32 additions and 20 deletions

View file

@ -1,13 +1,9 @@
package com.example.lobchat
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.webkit.*
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
import android.widget.Toast
import android.widget.EditText
@ -16,9 +12,6 @@ import android.widget.Button
class MainActivity : AppCompatActivity() {
private lateinit var webView: WebView
private var filePathCallback: ValueCallback<Array<Uri>>? = null
private lateinit var fileChooserLauncher: ActivityResultLauncher<Intent>
private lateinit var urlInput: EditText
private lateinit var loadUrlButton: Button
@ -51,19 +44,19 @@ class MainActivity : AppCompatActivity() {
webSettings.javaScriptEnabled = true
webSettings.domStorageEnabled = true
// 初始化文件选择器启动器
fileChooserLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK && result.data != null) {
val resultUri = result.data?.data
if (filePathCallback != null) {
filePathCallback?.onReceiveValue(resultUri?.let { arrayOf(it) })
filePathCallback = null
}
} else {
filePathCallback?.onReceiveValue(null)
filePathCallback = null
}
}
// // 初始化文件选择器启动器
// fileChooserLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
// if (result.resultCode == Activity.RESULT_OK && result.data != null) {
// val resultUri = result.data?.data
// if (filePathCallback != null) {
// filePathCallback?.onReceiveValue(resultUri?.let { arrayOf(it) })
// filePathCallback = null
// }
// } else {
// filePathCallback?.onReceiveValue(null)
// filePathCallback = null
// }
// }
// 点击按钮后加载用户输入的 URL
loadUrlButton.setOnClickListener {

View file

@ -1,5 +1,6 @@
package com.example.lobchat
import android.app.Activity
import android.content.Intent
import android.net.Uri
import android.os.Bundle
@ -7,6 +8,7 @@ import android.util.Log
import android.webkit.*
import androidx.appcompat.app.AppCompatActivity
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import com.google.android.material.snackbar.Snackbar
class WebViewActivity : AppCompatActivity() {
@ -23,6 +25,23 @@ class WebViewActivity : AppCompatActivity() {
webView = findViewById(R.id.webView)
setupWebView()
// 设置状态栏为透明,使系统自动使用默认的颜色
window.statusBarColor = resources.getColor(android.R.color.transparent, theme)
// 初始化文件选择器启动器
fileChooserLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK && result.data != null) {
val resultUri = result.data?.data
if (filePathCallback != null) {
filePathCallback?.onReceiveValue(resultUri?.let { arrayOf(it) })
filePathCallback = null
}
} else {
filePathCallback?.onReceiveValue(null)
filePathCallback = null
}
}
// 获取传递的 URL
val url = intent.getStringExtra("URL") // 确保这个 key 和 MainActivity 一致
if (!url.isNullOrEmpty()) {