android应用内打开office和PDF文档

一、采用微软在线转码的方式

优点:使用简单

缺点:不能转码PDF文件、浏览器都需要chrome的内核

使用方法:在在线文档url地址的前面加上

https://view.officeapps.live.com/op/view.aspx?src=
然后用webview加载拼接后的地址即可。

集成步骤:

1、activity_main.xml文件

注:我使用了databinding框架(与集成方式无关)。

<?xml version="1.0" encoding="utf-8"?>
<layout>

    <WebView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/web_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</layout>

2、MainActivity.java文件

public class MainActivity extends AppCompatActivity {

    private ActivityMainBinding mBinding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mBinding = ActivityMainBinding.inflate(LayoutInflater.from(this));
        setContentView(mBinding.getRoot());
        mBinding.webView.setWebViewClient(new WebViewClient() {
            @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);
            }
        });
        mBinding.webView.getSettings().setJavaScriptEnabled(true);
        mBinding.webView.loadUrl("https://view.officeapps.live.com/op/view.aspx?src=你的文档url地址");
    }
}

3、增加网络权限

<uses-permission android:name="android.permission.INTERNET"/>

不然Webview加载网页时出现NET::ERR_CACHE_MISS的错误。

一些问题:

1、如果excel表格下面有tab切换,这个tab加载不出来。

二、PdfViewPager

github地址:https://github.com/voghDev/PdfViewPager

优点:可在线加载pdf文件(其实也是下载以后加载的)

缺点:对API版本要求较高(API 21或以上)


参考:

http://blog.csdn.net/u011791526/article/details/73088768

https://www.jianshu.com/p/a000b7d73923


猜你喜欢

转载自blog.csdn.net/yu75567218/article/details/79093911