update
This commit is contained in:
parent
af172900b2
commit
8fe640ef2b
2 changed files with 32 additions and 20 deletions
|
|
@ -1,13 +1,9 @@
|
||||||
package com.example.lobchat
|
package com.example.lobchat
|
||||||
|
|
||||||
import android.app.Activity
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.webkit.*
|
import android.webkit.*
|
||||||
import androidx.activity.result.ActivityResultLauncher
|
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import android.widget.EditText
|
import android.widget.EditText
|
||||||
|
|
@ -16,9 +12,6 @@ import android.widget.Button
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private lateinit var webView: WebView
|
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 urlInput: EditText
|
||||||
private lateinit var loadUrlButton: Button
|
private lateinit var loadUrlButton: Button
|
||||||
|
|
||||||
|
|
@ -51,19 +44,19 @@ class MainActivity : AppCompatActivity() {
|
||||||
webSettings.javaScriptEnabled = true
|
webSettings.javaScriptEnabled = true
|
||||||
webSettings.domStorageEnabled = true
|
webSettings.domStorageEnabled = true
|
||||||
|
|
||||||
// 初始化文件选择器启动器
|
// // 初始化文件选择器启动器
|
||||||
fileChooserLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
// fileChooserLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
||||||
if (result.resultCode == Activity.RESULT_OK && result.data != null) {
|
// if (result.resultCode == Activity.RESULT_OK && result.data != null) {
|
||||||
val resultUri = result.data?.data
|
// val resultUri = result.data?.data
|
||||||
if (filePathCallback != null) {
|
// if (filePathCallback != null) {
|
||||||
filePathCallback?.onReceiveValue(resultUri?.let { arrayOf(it) })
|
// filePathCallback?.onReceiveValue(resultUri?.let { arrayOf(it) })
|
||||||
filePathCallback = null
|
// filePathCallback = null
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
filePathCallback?.onReceiveValue(null)
|
// filePathCallback?.onReceiveValue(null)
|
||||||
filePathCallback = null
|
// filePathCallback = null
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 点击按钮后加载用户输入的 URL
|
// 点击按钮后加载用户输入的 URL
|
||||||
loadUrlButton.setOnClickListener {
|
loadUrlButton.setOnClickListener {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package com.example.lobchat
|
package com.example.lobchat
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
|
@ -7,6 +8,7 @@ import android.util.Log
|
||||||
import android.webkit.*
|
import android.webkit.*
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.activity.result.ActivityResultLauncher
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
|
|
||||||
class WebViewActivity : AppCompatActivity() {
|
class WebViewActivity : AppCompatActivity() {
|
||||||
|
|
@ -23,6 +25,23 @@ class WebViewActivity : AppCompatActivity() {
|
||||||
webView = findViewById(R.id.webView)
|
webView = findViewById(R.id.webView)
|
||||||
setupWebView()
|
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
|
// 获取传递的 URL
|
||||||
val url = intent.getStringExtra("URL") // 确保这个 key 和 MainActivity 一致
|
val url = intent.getStringExtra("URL") // 确保这个 key 和 MainActivity 一致
|
||||||
if (!url.isNullOrEmpty()) {
|
if (!url.isNullOrEmpty()) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue