MainActivity.java
package com.example.tv1;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;
import android.webkit.WebSettings;
import android.webkit.WebViewClient;
import android.widget.FrameLayout;
import com.example.tv1.databinding.ActivityMainBinding;
public class MainActivity2 extends AppCompatActivity {
private AppBarConfiguration appBarConfiguration;
private ActivityMainBinding binding;
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webView = new WebView(this);
setContentView(webView);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36");
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("https://wap.woaimoon.com/vod/59801-3-1.html");// 可以改为任意网页
webView.setWebChromeClient(new WebChromeClient() {
private View customView;
private WebChromeClient.CustomViewCallback customViewCallback;
@Override
public void onShowCustomView(View view, CustomViewCallback callback) {
// 进入全屏
customView = view;
customViewCallback = callback;
// 添加 view 到全屏容器(如 FrameLayout)
FrameLayout decor = (FrameLayout) getWindow().getDecorView();
decor.addView(view, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT));
webView.setVisibility(View.GONE);
}
@Override
public void onHideCustomView() {
// 退出全屏
FrameLayout decor = (FrameLayout) getWindow().getDecorView();
decor.removeView(customView);
customView = null;
webView.setVisibility(View.VISIBLE);
customViewCallback.onCustomViewHidden();
}
});
}
// 处理遥控器按键操作
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT:
sendJavaScript("moveFocus('left')");
return true;
case KeyEvent.KEYCODE_DPAD_RIGHT:
sendJavaScript("moveFocus('right')");
return true;
case KeyEvent.KEYCODE_DPAD_UP:
sendJavaScript("moveFocus('up')");
return true;
case KeyEvent.KEYCODE_DPAD_DOWN:
sendJavaScript("moveFocus('down')");
return true;
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
sendJavaScript("pressEnter()");
return true;
}
return super.onKeyDown(keyCode, event);
}
// 向网页注入 JavaScript
private void sendJavaScript(String script) {
webView.evaluateJavascript(script, null);
}
}
activity_main2.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
查看logcat日志
2025-07-20 17:31:27.057 7957-7991 VideoCapture com.example.tv1 D 鎹曡幏鍒拌棰戝湴鍧�: https://jx.bbblx.com/player/index.php?code=dp&if=1&group=1&time=1753003887&keys=c7eadc1be69f3c1d1162a0963b3448b1&from=ffm3u8&id=59801&sid=3&nid=1&name=%E5%A4%A7%E8%B5%A2%E5%AE%B6-HD%E5%9B%BD%E8%AF%AD&api=https://wap.woaimoon.com/index.php&next=&url=https://vip.ffzy-online2.com/20231022/45561_b5e8341c/index.m3u8