最近做的一个Android demo 。 要求用手机蓝牙连接打印机实现打印功能。 先开始玩的是佳能IP100的打印机, 发现这
款打印机蓝牙只能实现打印图片功能,文档什么的要么接受了没反应,要么就乱码。 后来又玩了下佳能IP110的, 这款
机型实现的是wifi无线打印 。 由于用户需求最后研究了IP100蓝牙打印 。 网上搜了关于蓝牙打印的东西不多, 其中有个
看起来挺不错了, 但他好像是热敏打印机,在我这儿没法使用 连接: 热敏打印机 ; 最后自己用了一个比较偷懒快捷
的方式把测试Demo的功能实现了。
1.首先要设置打印机连接蓝牙后出来的尺寸 我用的纸张是A4的所以选择的就是普通A4纸张
2. 通过Android自带的分享功能 把图片发送到蓝牙打印机
String photoUri= Environment.getExternalStorageDirectory()+"/CheckAPP/Screen.jpg";
public void SharePhoto(String photoUri,final Activity activity) {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
File file = new File(photoUri);
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
shareIntent.setType("image/jpeg");
startActivity(Intent.createChooser(shareIntent, activity.getTitle()));
} 这个打印文件必须为Android内已经有的
3. 由于我做的功能是将用户填写的表格打印出来,所以我就又新建了一个专门用来打印的界面
调用截屏的功能,将图片保存到手机sd卡中
/**
* 截屏方法
* @return
*/
private Bitmap shot() {
View view = getWindow().getDecorView();
Display display = this.getWindowManager().getDefaultDisplay();
view.layout(0, 0, display.getWidth(), display.getHeight());
view.setDrawingCacheEnabled(true);//允许当前窗口保存缓存信息,这样getDrawingCache()方法才会返回一个Bitmap
ScreenBmp = Bitmap.createBitmap(view.getDrawingCache());
return ScreenBmp;
} 这样一个用户填写表格实现打印的功能就这样的完成了