WebView加载网络PDF(二)

PS:该示例有bug,请参见WebView加载网络PDF(一)

MainActivity如下:

package c.c;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebSettings.LayoutAlgorithm;
import android.app.Activity;
/**
 * Demo描述:
 * 利用WebView加载网络PDF资源
 * 方法1:利用设备自带浏览器打开pdf
 * 方法2:利用Google服务解析后再在mWebView中打开pdf
 * 备注:
 * 测试时最好连接VPN
 */
public class MainActivity extends Activity {
	private WebView mWebView;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		init();
	}
	private void init() {
        mWebView=(WebView) findViewById(R.id.webView);
        //方法1
        loadPDF1();
        //方法2
        //loadPDF2();
	}

	//方法1:利用设备自带浏览器打开pdf
	private void loadPDF1(){
		mWebView.getSettings().setJavaScriptEnabled(true);
		mWebView.getSettings().setSupportZoom(true);
		mWebView.getSettings().setDomStorageEnabled(true);
		mWebView.getSettings().setAllowFileAccess(true);
		mWebView.getSettings().setPluginsEnabled(true);
		mWebView.getSettings().setUseWideViewPort(true);
		mWebView.getSettings().setBuiltInZoomControls(true);
		mWebView.requestFocus();
		mWebView.getSettings().setLoadWithOverviewMode(true);
		mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
		String pdfUrl = "http://www8.cao.go.jp/okinawa/8/2012/0409-1-1.pdf";
		mWebView.loadUrl("http://docs.google.com/gview?embedded=true&url=" +pdfUrl);

	}
	//方法2:利用Google服务解析后再在mWebView中打开pdf
		private void loadPDF2(){
			mWebView.getSettings().setJavaScriptEnabled(true);
			mWebView.getSettings().setSupportZoom(true);
			mWebView.getSettings().setDomStorageEnabled(true);
			mWebView.getSettings().setAllowFileAccess(true);
			mWebView.getSettings().setPluginsEnabled(true);
			mWebView.getSettings().setUseWideViewPort(true);
			mWebView.getSettings().setBuiltInZoomControls(true);
			mWebView.requestFocus();
			mWebView.getSettings().setLoadWithOverviewMode(true);
			mWebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
			String pdfUrl = "http://www8.cao.go.jp/okinawa/8/2012/0409-1-1.pdf";
			String data = "<iframe src='http://docs.google.com/gview?embedded=true&url="+pdfUrl+"'"+" width='100%' height='100%' style='border: none;'></iframe>";
			mWebView.loadData(data, "text/html", "UTF-8");

		}

}

main.xml如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <WebView
        android:id="@+id/webView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
    />

</RelativeLayout>
时间: 2024-10-24 12:20:43

WebView加载网络PDF(二)的相关文章

WebView加载网络PDF(一)

main.xml如下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools

android webview 加载网络视频

webView.loadUrl(video_url); webView.setInitialScale(50); WebSettings setting = webView.getSettings(); setting.setUseWideViewPort(true); setting.setJavaScriptEnabled(true); //Support JavaScript setting.setPluginsEnabled(true); //Support Plugins, for e

android webview加载页面出现样式问题

问题描述 android webview加载页面出现样式问题 android webview加载页面,页面有时候字体会很大,页面样式不对,用手机浏览器或者微信内置浏览器打开都是好的,问题不是必现,但是概率较高 解决方案 Android webview 加载html 页面缩放的问题android webview 加载网络视频 解决方案二: 你可以设置webview的默认文字大小来防止打开时文字过大的情况 解决方案三: textsize="dp" 解决方案四: wv.getSettings

webview加载url显示的问题

问题描述 webview加载url显示的问题 布局中只有一个webview加载url可以显示,使用scrollview混合其他控件则显示不出来?使用同一个url,只是布局不同.求大神解答! view.getSettings().setDomStorageEnabled(true); view.getSettings().setJavaScriptEnabled(true); view.getSettings().setBuiltInZoomControls(false); view.getSet

隐藏-Android中的webview加载完成前后如何用一个图片来进行遮挡加载延迟的闪烁

问题描述 Android中的webview加载完成前后如何用一个图片来进行遮挡加载延迟的闪烁 用webview加载一个链接,但因为网速或者网页内容等问题,出现延迟,但是如果直接打开APP就开始加载的话,如果用户没有网络的情况下打开APP就什么都看不到了.所以想整个LOGO之类的全屏图片,等加载完成了之后再隐藏这个图片.该怎么实现,着急,在线等..... 解决方案 做个全屏的layout,等webview加载完就隐藏掉,在onPageFinished里处理 加载前可以先判断网络是不连通,不通就显示

webview 加载html加载不出来

问题描述 webview 加载html加载不出来 我的html文件用到了JS,html里面有好多图片动画但是图片他拿出来了 然后我再电脑上面可以打开来,但是加载到webview上面就不行.我所有的文件都保存到了assets的目录下面 解决方案 package c.c;import android.os.Bundle;import android.webkit.WebView;import android.app.Activity;public class MainActivity extends

android webview加载HTML5网站,监听HTML5视频播放?

问题描述 android webview加载HTML5网站,监听HTML5视频播放? 如题:在android盒子上面自己做了一个apk,布局是一个webview和一个SurfaceView, webview加载一个HTML网站网站代码为: <!DOCTYPE HTML> your browser does not support the video tag 里面播放的是一个avi格式的视频,视频可以播放. 我现在因为要修改视频输出的声道设置,本人有SDK源码,源码的Mediaplayer有设置

android webview 加载html 第一次字体正常,点击按钮后字体变大

问题描述 android webview 加载html 第一次字体正常,点击按钮后字体变大 使用android webview 加载html页面,第一次加载的没有问题,点击按钮之后,页面上非 控件的元素字体变大.哪位大神知道这是什么原因? 解决方案 public class MainActivity extends Activity { private WebView webView; private long firstTime = 0; private FrameLayout frame;

Android WebView加载html5页面实例教程

实例一:WebView加载html5实现炫酷引导页面 大多数人都知道,一个APP的引导页面还是挺重要的,不过要想通过原生的Android代码做出一个非常炫酷的引导页相对还是比较复杂的,正巧html5在制作炫酷动画网页方面比较给力,我们不妨先利用html5做出手机引导页面,然后将其嵌入APP中. 首先我们分析一下,都需要做哪些工作? 1.制作html5引导页面. 2.把做好的页面放入Android工程中assets文件夹下. 3.利用WebView加载asset文件夹下的html文件. 4.在引导