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
还没有评论,来说两句吧...