Articles of webview

在Android WebView中使用mozilla pdf.js Android API级别低于19显示PDF文件

我在Android WebView中使用mozilla pdf.js来显示PDF文件。 代码在Android API级别19中正常工作。 Uri path = Uri.parse(Environment.getExternalStorageDirectory().toString() + "/test.pdf"); webView.loadUrl("file:///android_asset/pdfviewer/index.html?file=" + path); 但是它不适用于Android API级别16及以下 。 设备上显示白色空白屏幕。 有什么办法可以解决这个问题吗?

如何在Android WebView中启用地址栏?

我实际上在我的应用程序中使用WebView,它工作得很好。 现在,我想要更改实际的url,就像Android股票浏览器中的地址栏一样,您可以在其中查看url以及可以在哪里更改url。 我怎样才能启用此栏? 还是我必须自己实施?! 谢谢! 我的代码如下所示: private void setupWebView() { webview = new WebView(this); webview.setWebViewClient(new MyWebViewClient()); WebSettings webSettings = webview.getSettings(); webSettings.setUserAgentString("foo"); webSettings.setJavaScriptEnabled(true); webSettings.setAppCacheEnabled(false); webSettings.setBuiltInZoomControls(true); webview.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { MyActivity.this.setProgress(progress * 100); } }); }

在Android中的WebView的HTTP POST响应

我正尝试使用HTTP Post连接到该页面。 我做了一个http post创build一个webview。 我需要从webviewredirect到另一个页面。 但是当继续button被点击时,exception被抛出。 我的代码是 public class ZHttpPostProjActivity extends Activity { /** Called when the activity is first created. */ private WebView mWebView; private ProgressDialog progressBar; private static final String TAG = "ZHttpPostProjActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.web_view); mWebView = (WebView) findViewById(R.id.webview); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setDomStorageEnabled(true); progressBar = […]

Android webview loadurl(“file:///android_asset/index.html#home”)失败

我正在Android的应用程序,我想要加载本地的HTML文件使用 webview.loadurl("file:///android_asset/index.html#home"); 它会在大多数设备上加载正常,但在一些Android OS 4.0.4的三星设备上,加载失败。 你有这个问题的想法吗? 添加一些评论,并为我的错误刚刚抱歉。 webview.loadurl("file:///android_asset/www/index.html"); 工作很好,但是 webview.loadurl("file:///android_asset/www/index.html#home"); 失败了。

webview和本地代码之间的通信在移动应用程序

我必须开发一个电子商务移动应用程序。 为了将产品展示到应用程序中,我必须使用指向移动网站的web视图。 关联到每个产品有“添加到购物篮”button。 此button也是移动网站的一个元素。 在移动应用程序的标签栏中(而不是在web视图中),篮子的图标与篮子的元素的数量有关。 webview如何知道用户已经将一个或多个元素添加到购物篮中,并将此信息发送到可以更新购物篮图标的本机移动应用程序?

Android Webview页面无法正确加载页面

我正在尝试使用Android Studio模拟器(Nexus 5)将页面加载到Android应用程序webview中。 但是,页面加载不正确,卡在加载屏幕上。 该页面确实需要GeoLocation权限,但是我已经启用了它们。 以下是我的代码和应用程​​序的XML。 MainActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); WebView webview; setContentView(R.layout.activity_main); webview = (WebView)findViewById(R.id.help_webview); //webview use to call own site webview.setWebViewClient(new WebViewClient()); webview.getSettings().setJavaScriptEnabled(true); webview.getSettings().setDomStorageEnabled(true); webview.getSettings().setAllowContentAccess(true); webview.getSettings().setAllowFileAccess(true); webview.getSettings().setAppCacheEnabled(true); webview.getSettings().setAllowUniversalAccessFromFileURLs(true); webview.getSettings().setAllowContentAccess(true); webview.getSettings().setGeolocationEnabled(true); webview.getSettings().setDatabaseEnabled(true); webview.setWebChromeClient(new WebChromeClient() { public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { // callback.invoke(String origin, boolean allow, boolean remember); callback.invoke(origin, […]

修改alert()标题(Android Webview中的Javascript)

截图: 文件页面:// 无论如何修改警告框标题? 任何帮助将不胜感激。 🙂

如何在Android中捕获一个webview到位图?

我有一个webview,我需要向下滚动查看所有的内容。 现在,我想捕获整个webview到一个位图。 我看了很多次。 人们build议我使用函数capturePicture() 。 但是,这个函数已经被弃用了 。 那么,还有什么其他方法可以实现我的目标? 谢谢大家。

在Android应用程序的WebView中的HTML文本字段被软键盘隐藏

我有一个Android应用程序是一个WebView的TabHost。 我用它来加载一个特定的HTML文件,在其底部有一个文本字段。 当我触摸HTML文本框时,popup软键盘,并隐藏文本框,以便我看不到我input的内容。 这是布局: <?xml version="1.0" encoding="utf-8"?> <TabHost xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TabWidget android:focusableInTouchMode="false" android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_height="63dp" /> <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/layout" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <WebView android:id="@+id/webview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" /> </LinearLayout> </FrameLayout> </LinearLayout> </TabHost> 我试图用android:windowSoftInputMode="adjustResize"configurationAndroidManifest.xml文件,但没有成功。 我也尝试用ScollViewreplace我的布局中的FrameLayout ,但是当应用程序正在运行时,导致我的webview无限增大..这可能是由于我在页面上运行了一些JavaScript。 我注意到,android的网页浏览器有一个漂亮的行为 – 在网页中,popup软键盘后,网页滚动顺畅,使用户可以看到焦点文本框。 我怎么能在我的应用程序中有这种行为?

由于默认浏览器,Android无法在webview中实现Facebook评论

我是Android开发的新手,这个webview和webview客户端正在杀死我。 这是我的场景: 我必须加载一个包含Facebook社交插件(用于评论该特定url)的网页,我正在使用WebView 当用户使用Facebook点击评论时,他/她将在同一个webview上被授予login页面(而不是打开默认浏览器) 一旦login成功,将显示第一页(包含社交插件的页面),允许用户发表评论 我所要做的是模拟浏览器的工作过程,即用户login时,他/她被自动授予添加Facebook评论的权限。 我的问题: 我不知道如何从浏览器获得所有的身份validation,并将其redirect回我的应用程序的web视图。 我想要的是在我的应用程序webview中执行所有的过程,而不是去默认的浏览器。 我已经检查了所有的堆栈溢出问题,他们中的大多数人build议使用Facebook连接和Facebook android SDK等开源的Facebook插件。 此外,我得到了一些关于CookieManager , CookieSyncManager , WebViewClient , WebChromeClient但我无法实现我的问题。 而我发现的最接近的是: 如何在android webview中处理facebook 所以,如果你能指出我正确的方向,我会很高兴。 我仍然试图了解如何在web视图上执行所有操作,如果发生任何问题,我一定会发布。 提前致谢 更新 我只能实现facebooklogin,但不能实现AOL , Hotmail和Yahoologin。 对于facebooklogin只需创build一个自定义的WebViewClient和方法shouldOverrideUrlLoading if(url.contains("https://www.facebook.com/connect/window_comm.php")){ webView.clearHistory(); webView.loadUrl(remoteUrl); } return false; 为了允许多个login我已经实现了以下技术,但它不工作 if(url.contains("https://www.facebook.com/connect/window_comm.php")){ String cookieString = cookieManager.getCookie("facebook.com"); if(cookieString != null){ cookieManager.setCookie("remoteUrldomain.com", cookieString); CookieSyncManager.getInstance().sync(); webView.clearHistory(); webView.loadUrl(remoteUrl); } } return false; 我仍然在尽力find解决办法,那里的任何人都会引导我以正确的方向感谢。 […]