Android 通過騰訊TBS實現檔案預覽功能
阿新 • • 發佈:2020-06-10
1.整合騰訊TBS
使用騰訊TBS來預覽pdf,word,excel,ppt等多種型別的檔案,去 騰訊瀏覽服務官網下載SDK,按照官方文件文件整合SDK。
2.使用TbsReaderView來載入檔案
動態建立TbsReaderView,然後新增到佈局中。
// 回撥 TbsReaderView.ReaderCallback readerCallback = new TbsReaderView.ReaderCallback() { @Override public void onCallBackAction(Integer integer,Object o,Object o1) { } }; tbsReaderView = new TbsReaderView(this,readerCallback); RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT); params.addRule(RelativeLayout.BELOW,R.id.title_layout); //把tbsReaderView新增在標題控制元件下面 layout.addView(tbsReaderView,1,params); //檔案地址 String filePath=getIntent().getStringExtra("filePath"); //檔名 String fileName=getIntent().getStringExtra("fileName"); //載入檔案 displayFile(filePath,fileName);
//載入檔案 private void displayFile(String filePath,String fileName) { //增加下面一句解決沒有TbsReaderTemp資料夾存在導致載入檔案失敗 String bsReaderTemp = tbsReaderTemp; File bsReaderTempFile =new File(bsReaderTemp); if (!bsReaderTempFile.exists()) { Log.d("print","準備建立/TbsReaderTemp!!"); boolean mkdir = bsReaderTempFile.mkdir(); if(!mkdir){ Log.d("print","建立/TbsReaderTemp失敗!!!!!"); } } Bundle bundle = new Bundle(); bundle.putString("filePath",filePath); bundle.putString("tempPath",tbsReaderTemp); boolean result = tbsReaderView.preOpen(getFileType(fileName),false); Log.d("print","檢視文件---"+result); if (result) { tbsReaderView.openFile(bundle); } }
@Override protected void onDestroy() { super.onDestroy(); //銷燬介面的時候一定要加上,否則後面載入檔案會發生異常。 tbsReaderView.onStop(); }
3.其他說明
1、載入檔案核心類是 TbsReaderView,騰訊文件沒有寫,TbsReaderView建議通過動態建立,不要使用xml中引用;
2、TBS目前只支援載入本地檔案。所以遠端檔案需要先下載,後用TBS載入檔案顯示;
3、載入檔案的介面,離開本介面之後務必銷燬TbsReaderView,否則再次載入檔案無法載入成功,會一直顯示載入檔案進度條;程式碼如下:tbsReaderView.onStop();
4.騰訊TBS可以代替原生WebView,效率更高,功能更強大。
總結
到此這篇關於Android 通過騰訊TBS實現檔案預覽功能的文章就介紹到這了,更多相關android 騰訊TBS檔案預覽內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!