展会信息港展会大全

WebView加载网络PDF(一)
来源:互联网   发布日期:2015-10-02 21:31:20   浏览:2306次  

导读:main.xml如下: [html] 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 WebV...

main.xml如下:

[html]

<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="fill_parent"

android:layout_height="fill_parent"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true" />

</RelativeLayout>

MainActivity如下:

[java]

package c.c;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Bitmap;

import android.net.Uri;

import android.os.Bundle;

import android.webkit.DownloadListener;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.Button;

/**

* Demo描述: 利用WebView加载网络PDF资源,并且实现下载

* 步骤:

* 1 利用谷歌服务得到解析后的pdf,且在Webview中显示

* 2 实现Webview的下载监听.

*即mWebView.setDownloadListener()实现下载

*

* 备注:

* 测试时最好链接VPN

*/

public class MainActivity extends Activity {

private WebView mWebView;

private Button mButton;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

init();

}

private void init() {

mWebView = (WebView) findViewById(R.id.webView);

loadPDF();

}

private void loadPDF() {

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);

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);

mWebView.setWebViewClient(new WebViewClient() {

@Override

public void onPageStarted(WebView view, String url, Bitmap favicon) {

super.onPageStarted(view, url, favicon);

}

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

}

@Override

public void onReceivedError(WebView view, int errorCode,

String description, String failingUrl) {

super.onReceivedError(view, errorCode, description, failingUrl);

}

});

mWebView.setDownloadListener(new DownloadListener() {

@Overridewww.2cto.com

public void onDownloadStart(String url, String userAgent,

String contentDisposition, String mimetype,long contentLength) {

System.out.println("=========>开始下载 url =" + url);

Uri uri = Uri.parse(url);

Intent intent = new Intent(Intent.ACTION_VIEW, uri);

startActivity(intent);

}

});

}

}

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港