强制webview以dekstop模式打开whatsapp web

时间:2017-02-14 14:31:35

标签: java android webview user-agent whatsapp

我正在尝试创建一个打开whatsapp web的webview android应用程序,但whatsapp web显示另一个浏览器建议或更新您的浏览器。我尝试了许多不同的用户代理,没有运气。我是新手,这是我的第一个应用程序。我以为我会轻松开始:')

    package app.whatstab;

import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.graphics.Bitmap; import android.os.Bundle; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.ProgressBar; public class MainActivity extends Activity { private WebView mWebView; ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.activity_main_webview); progressBar = (ProgressBar) findViewById(R.id.progressBar1); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); // String newUA= "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.4) Gecko/20100101 Firefox/4.0"; String newUA= "Mozilla/5.0 (Windows NT 6.1) Gecko/20100101 Firefox/4.0"; webSettings.setUserAgentString(newUA); webSettings.setLoadWithOverviewMode(true); webSettings.setUseWideViewPort(true); webSettings.setSupportZoom(true); webSettings.setBuiltInZoomControls(true); webSettings.setDisplayZoomControls(false); mWebView.loadUrl("https://web.whatsapp.com"); mWebView.setWebViewClient(new HelloWebViewClient()); } private class HelloWebViewClient extends WebViewClient{ @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverrideUrlLoading(WebView webView, String url) { webView.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { // TODO Auto-generated method stub super.onPageFinished(view, url); progressBar.setVisibility(view.GONE); } } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //if back key is pressed if((keyCode == KeyEvent.KEYCODE_BACK)&& mWebView.canGoBack()) { mWebView.goBack(); return true; } return super.onKeyDown(keyCode, event); } public void onBackPressed() { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder( MainActivity.this); // set title alertDialogBuilder.setTitle("Exit"); // set dialog message alertDialogBuilder .setMessage("Do you really want to exit?") .setCancelable(false) .setPositiveButton("Yes",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { // if this button is clicked, close // current activity MainActivity.this.finish(); } }) .setNegativeButton("No",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog,int id) { // if this button is clicked, just close // the dialog box and do nothing dialog.cancel(); } }); // create alert dialog AlertDialog alertDialog = alertDialogBuilder.create(); // show it alertDialog.show(); } }

0 个答案:

没有答案