手机客户端在Web页面上事件触发打开Word

本文介绍如何在手机客户端的WebView中,通过Web服务触发事件,实现远程打开并编辑Word文档的功能,提供了在线编辑Word的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在WebView上远程访问Web服务,Web服务上点击链接,打开Word文档并可编辑

public class WebViewUI extends Activity{
	private WebView  webView;
	private Handler handler = new Handler();
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//        Utils.fullScreen(this);
        setContentView(R.layout.webview_ui);
//        Button btnReturn = (Button)findViewById(R.id.btnback);
//		btnReturn.setOnClickListener(new View.OnClickListener() {
//			@Override
//			public void onClick(View v) {
//				finish();
//			}
//		});
//        regBroadCast();
        webView  = (WebView)  findViewById(R.id.webView);
        webView.setWebChromeClient(new WebChromeClient());//手机访问js必须
        webView.setWebViewClient(new MyWebViewClient());//防止页面切换时弹出其他浏览器提示
        webView.getSettings().setJavaScriptEnabled(true);
        webView.addJavascriptInterface(new DemoJavaScriptInterface(), "danielinbiti");
        webView.loadUrl(SysConfig.getInstance().getRootPath()+"web/index.html"); 
	}
	final class DemoJavaScriptInterface {
        DemoJavaScriptInterface() {
        }
        public void clickOnAndroid(String type) {
            Log.d("kkkkkkk", type);
            handler.post(new Runnable() {
              public void run() {//              	
                webView.loadUrl("javascript:updateWordName('wordname.docx')");
                openWord("test.docx");
              }
          });
        }
    }
	
	private void openWord(String wordName){
		Intent intent = new Intent(); 
		intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
		intent.setAction(android.content.Intent.ACTION_VIEW); 
		//intent.setClassName("cn.wps.moffice","cn.wps.moffice.documentmanager.PreStartActivity");//早期版本是这个
		intent.setClassName("cn.wps.moffice_eng","cn.wps.moffice.documentmanager.PreStartActivity2");
		
		//String sdPath = Environment.getExternalStorageDirectory()+"/apk/word1.docx";
		//Uri uri = Uri.fromFile(new File("/mnt/sdcard/test.docx"));
		Uri uri = Uri.fromFile(new File(Environment.getExternalStorageDirectory(),wordName));
		intent.setData(uri); 
		try{
			startActivity(intent); 
		}catch(Exception ex){
			Log.d("333333333333", ex.getMessage());
		}
	}
}

在js上

function callWebView(type){
					  	 window.danielinbiti.clickOnAndroid(type);
					  }
					  function updateWordName(name){
					  	 document.getElementById('txtareayj').value=name;
					  	 //alert(name);
					  }


这样实现的效果,可以实现在线打开Word文档并编辑的效果。




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值