Articles of android webview

Android – WebView无法播放YouTubevideo

我有一些WebView代码,我试图在YouTube频道上播放YouTubevideo。 但它所做的只是在video上显示微调器图标,而不是实际启动video。 有谁知道如何解决这个问题? public class YoutubeActivity extends Activity { WebView webview = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); webview = new WebView(this); webview.getSettings().setAppCacheEnabled(false); webview.getSettings().setJavaScriptEnabled(true); webview.setInitialScale(1); webview.getSettings().setPluginState(PluginState.ON); webview.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } }); WebSettings webSettings = webview.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setBuiltInZoomControls(true); //webSettings.getMediaPlaybackRequiresUserGesture(); webSettings.setAllowContentAccess(true); webSettings.setEnableSmoothTransition(true); webSettings.setLoadsImagesAutomatically(true); webSettings.setLoadWithOverviewMode(true); […]

阻止WebView打开浏览器

我已经为给定的WebView启用了JavaScript,并在WebView中打开了新链接,而不是在浏览器中。 这是主要活动 package com.Afrogfx.pronouns; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.view.Menu; import android.webkit.WebView; @SuppressLint(“SetJavaScriptEnabled”) public class MainActivityPronouns extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_activity_pronouns); WebView wvHtml = (WebView) findViewById(R.id.webview); wvHtml.getSettings().setBuiltInZoomControls(true); wvHtml.getSettings().setJavaScriptEnabled(true); wvHtml.loadUrl(“http://afrogfx.com/appcatcategories.php?catid=13&parentid=11”); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main_activity_pronouns, menu); return true; } } 我如何处理我的代码以打开WebView(App)内部的所有链接,而不是在浏览器中(不向用户显示在浏览器中打开)。

如何在Xamarin.Android/Monodroid中使用Android KitKat EvaluateJavascript并检索结果?

对于Xamarin.iOS / Monotouch ,在评估javascript时检索字符串很简单。 例如 string elementValue = browser.EvaluateJavascript(“document.getElementById(‘Id’).value”); if(elementValue != “”) { DoSomething(); } 任何人都可以提供一个如何为Xamarin做这个的例子。 Android / Monodroid Android kitkat及以上使用Evaluatejavascript()? 具体如何同步使用/设置IValueCallback。

在WebView中启用后退按钮

我刚刚开始使用Android SDK。 我想用WebView制作一个只显示本地网页的简单应用程序。 我已经使用了我在网上find的例子来制作它。 该应用程序工作得很好,直到我想添加一个后退按钮。 当按下电话后退按钮时,应用程序崩溃。 这是我的MainActivity.java package com.hspd.avhor; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.webkit.WebView; import android.webkit.WebViewClient; public class MainActivity extends Activity { WebView wv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView wv = (WebView)findViewById(R.id.hspd_webview); wv.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url){ view.loadUrl(url); return true; } }); wv.loadUrl(“file:///android_asset/one.htm”); […]

WebView占用了太多内存

在我的应用程序中有两个活动,即A和B. 活动A: 它有一个列表,可以简要显示有关项目的信息。 单击A上的项目时,它会加载活动B. 活动B: 它有两个Web视图和几个列表视图。 活动顶部由标题Web视图占用。 活动的下半部分具有选项卡主机,它在第一个选项卡中托管第二个Web视图,其余选项卡都包含列表视图。 问题: 当用户从A导航到B时,堆大小会显着增加。 即使我从B导航回A,堆大小仍然是相同的。 甚至没有字节减少,事实上它有时会增加。 是的,因为这些网页浏览量。 我已阅读有关SO和其他网站上的Web视图内存泄漏的信息。 我按照这里提到的方法 在容器[RelativeLayout]中动态添加Web视图。 删除了有关onDestroy活动的webview 在SO文章中建议的子类Web视图 每次清除Web视图缓存等 无论什么堆大小都没有回到导航到B之前的状态。 真的很感激,如果有人可以指导我find可能的解决办法 注意: 我已经读过这个并在SO上关注了这个问题。 WebView中的内存泄漏 编辑: 我尝试过在B中没有Web视图,并且堆大小的增加非常小于0.5 MB但是使用Web视图时它会增加4-5 MB 堆大小日志(通过以下提到的建议得到) onCreate B debug.heap native: allocated 4.11MB of 4.17MB (0.01MB free) in [] debug.memory: allocated: 12.00MB of 96.00MB (1.00MB free) onDestroy B debug.heap native: allocated 8.66MB of […]

Android应用中的ExceptionInInitializerError?

在我的Android应用程序中,WebView活动类有以下行, webView.addJavascriptInterface(new JSInterface(this), “Android”); 在JSInterface类中,我正在初始化Google“SpreadSheetService”,如下所示, import com.google.gdata.client.spreadsheet.SpreadsheetService; — some more imports — public class JSInterface { Context mContext; public SpreadsheetService service; /** Instantiate the interface and set the context */ JSInterface(Context c) { mContext = c; service = new SpreadsheetService(“List Demo”); } ——- some more code —– 当我运行应用程序时,我得到以下exception, 01-19 21:38:00.652: E/AndroidRuntime(4085): java.lang.ExceptionInInitializerError 其中有以下痕迹 01-19 21:38:00.652: […]

Android webview自定义错误页面

我正在创建使用WebView访问在线网站的应用程序。 我被困在必须添加代码以检查页面可用性的地方。 public class SpartanWeb extends Activity { WebView mWebView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Adds Progrss bar Support this.getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main); // Makes Progress bar Visible getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); // Get Web view mWebView = (WebView) findViewById(R.id.webView1); WebSettings websettings = mWebView.getSettings(); websettings.setJavaScriptEnabled(true); mWebView.stopLoading(); mWebView.clearCache(true); […]

android:在我的webview中打开popup窗口

我在我的应用程序中有webview,我希望它在单击webview中的链接时打开popup窗口。 我添加了以下代码,但它不起作用: – WebSettings webSettings = webViewPage.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setSupportMultipleWindows(true); webSettings.setJavaScriptCanOpenWindowsAutomatically(true); popup窗口应该是这样的

Android Web-View shouldOverrideUrlLoading()已弃用。(替代方案)

我已经find了一个让android在webview中工作的方法,但该方法已被弃用。任何人都可以给我新方法的完整代码片段。 这是我在这个网站上find的方法 Java代码如下: @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (url.startsWith(“tel:”)) { initiateCall(url); return true; } if (url.startsWith(“mailto:”)) { sendEmail(url.substring(7)); return true; } return false; } 但是当我将目标平台作为Android 7.1.1时,它无法正常工作

如何禁用WebView的单击?

我有线性布局,其中只包含WebView。 我想要做的是禁用Webview中的单击,这意味着我希望调用与RelativeLayout bg_stepsContainer关联的事件。 我用过android:clickable =“false”这是代码 任何建议都得到赞赏!