Android-WiFi打印功能-实现

来源:互联网 发布:淘宝用户服务协议 编辑:程序博客网 时间:2024/05/28 23:09

一、     简介

1.   依赖说明

1)  Android4.4(KitKat,api-19)及以上设备;

2)  安装Mopria的“mopria print service”打印服务。

2.   mopria print service介绍

“mopria print service”为Mopria联盟推出的一款Android设备打印服务应用,官网为http://mopria.org/zh-cn;可以支持大部分的打印设备。

Mopria 是支持从移动设备连接至不同制造商或品牌的打印机进行打印的一组标准。

该标准的首次执行是针对 Google 的安卓操作系统(4.4 版或更高)。MopriaPrint Service 可提供“通用打印驱动程序”,将要打印的数据转换至打印机所需的适当文件类型。

 

二、     使用

1.   安装“Mopria Print Service”

1)  到应用市场下载“Mopria Print Service”,安装成功后;

2)  系统设置 –> 高级设置 -> 打印 –> 打印服务,可以看到“Mopria Print Service”,点击进入,选择打开,会自动搜索网络中的打印机。 

2.   代码调用

private void doMopriaPrint(String filePath) {    Intent intent = new Intent(Intent.ACTION_VIEW);    String packageName = "org.mopria.printplugin";    String className = "org.mopria.printplugin.DocumentRenderingActivity";    intent.setClassName(packageName, className);    //    Uri data = null;    //     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {      //判断android版本大于等于7.0      //由于 从Android 7.0开始,不再允许在app中把file:// Uri暴露给其他app,否则应用会抛出FileUriExposedException      //使用FileProvider生成"content://" Uri来替代"file://" Uri,解决该异常        data = FileProvider.getUriForFile(this, "com.test.printer.fileprovider", new File(filePath));        // 给目标应用一个临时授权        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);    }     else {        data = Uri.fromFile(new File(filePath));    }    intent.setData(data);startActivity(intent);}