看起来您使用的是受支持浏览器的旧版本 (Bigbluebutton)
Looks like you are using an older version of supported browser (Bigbluebutton)
我正在为我的视频会议应用开发 运行 BigBlueButton 网站的 webview 应用程序。我遇到错误 “看起来您使用的是受支持浏览器的旧版本。请升级您的浏览器以获得全面支持”并出现蓝屏。因为我是 android 开发的新手。请帮忙...
我的密码是
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.http.SslError;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private static WebView webView;
private static ProgressBar webViewProgressBar;
private static ImageView back, forward, refresh, close;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
setUpWebView();
setListeners();
}
private void initViews() {
back = (ImageView) findViewById(R.id.webviewBack);
forward = (ImageView) findViewById(R.id.webviewForward);
refresh = (ImageView) findViewById(R.id.webviewReload);
close = (ImageView) findViewById(R.id.webviewClose);
webViewProgressBar = (ProgressBar) findViewById(R.id.webViewProgressBar);
}
private void setUpWebView() {
webView = (WebView) findViewById(R.id.sitesWebView);
webView.setWebViewClient(new MyWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
String value = getIntent().getStringExtra("uid");
final String webViewUrl = "http://www.google.com";
LoadWebViewUrl(webViewUrl);
}
private void setListeners() {
back.setOnClickListener(this);
forward.setOnClickListener(this);
refresh.setOnClickListener(this);
close.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.webviewBack:
isWebViewCanGoBack();
break;
case R.id.webviewForward:
if (webView.canGoForward())
webView.goForward();
break;
case R.id.webviewReload:
String url = webView.getUrl();
LoadWebViewUrl(url);
break;
case R.id.webviewClose:
finish();
break;
}
}
public void homeclick(View view) {
Intent intent= new Intent(MainActivity.this,MainActivity.class);
startActivity(intent);
finish();
}
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
refresh.setVisibility(View.GONE);
if (!webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
refresh.setVisibility(View.VISIBLE);
if (webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.GONE);
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
refresh.setVisibility(View.VISIBLE);
if (webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.GONE);
}
@Override
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
super.onReceivedHttpError(view, request, errorResponse);
refresh.setVisibility(View.VISIBLE);
if (webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.GONE);
Toast.makeText(MainActivity.this, "Fetching data.", Toast.LENGTH_SHORT).show();
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
refresh.setVisibility(View.VISIBLE);
if (webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.GONE);
}
}
// To handle "Back" key press event for WebView to go back to previous screen.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
isWebViewCanGoBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void isWebViewCanGoBack() {
if (webView.canGoBack())
webView.goBack();
else
finish();
}
private void LoadWebViewUrl(String url) {
if (isInternetConnected())
webView.loadUrl(url);
else {
refresh.setVisibility(View.VISIBLE);
}
}
public boolean isInternetConnected() {
// At activity startup we manually check the internet status and change
// the text status
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected())
return true;
else
return false;
}
}
[1]: https://i.stack.imgur.com/pc5sh.jpg
你可以这样添加user agent
webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36");
并在 androidManifest.xml
中添加 MODIFY_AUDIO_SETTINGS
权限
我正在为我的视频会议应用开发 运行 BigBlueButton 网站的 webview 应用程序。我遇到错误 “看起来您使用的是受支持浏览器的旧版本。请升级您的浏览器以获得全面支持”并出现蓝屏。因为我是 android 开发的新手。请帮忙...
我的密码是
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.http.SslError;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.SslErrorHandler;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private static WebView webView;
private static ProgressBar webViewProgressBar;
private static ImageView back, forward, refresh, close;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
setUpWebView();
setListeners();
}
private void initViews() {
back = (ImageView) findViewById(R.id.webviewBack);
forward = (ImageView) findViewById(R.id.webviewForward);
refresh = (ImageView) findViewById(R.id.webviewReload);
close = (ImageView) findViewById(R.id.webviewClose);
webViewProgressBar = (ProgressBar) findViewById(R.id.webViewProgressBar);
}
private void setUpWebView() {
webView = (WebView) findViewById(R.id.sitesWebView);
webView.setWebViewClient(new MyWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
String value = getIntent().getStringExtra("uid");
final String webViewUrl = "http://www.google.com";
LoadWebViewUrl(webViewUrl);
}
private void setListeners() {
back.setOnClickListener(this);
forward.setOnClickListener(this);
refresh.setOnClickListener(this);
close.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.webviewBack:
isWebViewCanGoBack();
break;
case R.id.webviewForward:
if (webView.canGoForward())
webView.goForward();
break;
case R.id.webviewReload:
String url = webView.getUrl();
LoadWebViewUrl(url);
break;
case R.id.webviewClose:
finish();
break;
}
}
public void homeclick(View view) {
Intent intent= new Intent(MainActivity.this,MainActivity.class);
startActivity(intent);
finish();
}
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
refresh.setVisibility(View.GONE);
if (!webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
refresh.setVisibility(View.VISIBLE);
if (webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.GONE);
}
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
super.onReceivedError(view, request, error);
refresh.setVisibility(View.VISIBLE);
if (webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.GONE);
}
@Override
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
super.onReceivedHttpError(view, request, errorResponse);
refresh.setVisibility(View.VISIBLE);
if (webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.GONE);
Toast.makeText(MainActivity.this, "Fetching data.", Toast.LENGTH_SHORT).show();
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
super.onReceivedSslError(view, handler, error);
refresh.setVisibility(View.VISIBLE);
if (webViewProgressBar.isShown())
webViewProgressBar.setVisibility(View.GONE);
}
}
// To handle "Back" key press event for WebView to go back to previous screen.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
isWebViewCanGoBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void isWebViewCanGoBack() {
if (webView.canGoBack())
webView.goBack();
else
finish();
}
private void LoadWebViewUrl(String url) {
if (isInternetConnected())
webView.loadUrl(url);
else {
refresh.setVisibility(View.VISIBLE);
}
}
public boolean isInternetConnected() {
// At activity startup we manually check the internet status and change
// the text status
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected())
return true;
else
return false;
}
}
[1]: https://i.stack.imgur.com/pc5sh.jpg
你可以这样添加user agent
webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36");
并在 androidManifest.xml
MODIFY_AUDIO_SETTINGS
权限