【实例简介】android 蓝牙打印机(ESC/POS 热敏打印机),打印菜单小票和图片,对蓝牙配对和连接打印功能进行了封装,让你超快实现蓝牙打印功能

【实例截图】

【核心代码】

package com.xmwdkk.boothprint;

import android.Manifest;

import android.bluetooth.BluetoothAdapter;

import android.content.Intent;

import android.os.Build;

import android.os.Bundle;

import android.text.TextUtils;

import android.view.View;

import android.widget.TextView;

import com.xmwdkk.boothprint.base.AppInfo;

import com.xmwdkk.boothprint.bt.BluetoothActivity;

import com.xmwdkk.boothprint.print.PrintMsgEvent;

import com.xmwdkk.boothprint.print.PrintUtil;

import com.xmwdkk.boothprint.print.PrinterMsgType;

import com.xmwdkk.boothprint.util.ToastUtil;

import de.greenrobot.event.EventBus;

/***

* Created by liugruirong on 2017/8/3.

*/

public class MainActivity extends BluetoothActivity implements View.OnClickListener {

TextView tv_bluename;

TextView tv_blueadress;

boolean mBtEnable = true;

int PERMISSION_REQUEST_COARSE_LOCATION=2;

/**

* bluetooth adapter

*/

BluetoothAdapter mAdapter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

tv_bluename =findViewById(R.id.tv_bluename);

tv_blueadress =findViewById(R.id.tv_blueadress);

findViewById(R.id.button4).setOnClickListener(this);

findViewById(R.id.button5).setOnClickListener(this);

findViewById(R.id.button6).setOnClickListener(this);

findViewById(R.id.button).setOnClickListener(this);

//6.0以上的手机要地理位置权限

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {

requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_COARSE_LOCATION);

}

EventBus.getDefault().register(MainActivity.this);

}

@Override

protected void onStart() {

super.onStart();

BluetoothController.init(this);

}

@Override

public void btStatusChanged(Intent intent) {

super.btStatusChanged(intent);

BluetoothController.init(this);

}

@Override

public void onClick(View view) {

switch (view.getId()){

case R.id.button4:

startActivity(new Intent(MainActivity.this,SearchBluetoothActivity.class));

break;

case R.id.button5:

if (TextUtils.isEmpty(AppInfo.btAddress)){

ToastUtil.showToast(MainActivity.this,"请连接蓝牙...");

startActivity(new Intent(MainActivity.this,SearchBluetoothActivity.class));

}else {

if ( mAdapter.getState()==BluetoothAdapter.STATE_OFF ){//蓝牙被关闭时强制打开

mAdapter.enable();

ToastUtil.showToast(MainActivity.this,"蓝牙被关闭请打开...");

}else {

ToastUtil.showToast(MainActivity.this,"打印测试...");

Intent intent = new Intent(getApplicationContext(), BtService.class);

intent.setAction(PrintUtil.ACTION_PRINT_TEST);

startService(intent);

}

}

break;

case R.id.button6:

if (TextUtils.isEmpty(AppInfo.btAddress)){

ToastUtil.showToast(MainActivity.this,"请连接蓝牙...");

startActivity(new Intent(MainActivity.this,SearchBluetoothActivity.class));

}else {

ToastUtil.showToast(MainActivity.this,"打印测试...");

Intent intent2 = new Intent(getApplicationContext(), BtService.class);

intent2.setAction(PrintUtil.ACTION_PRINT_TEST_TWO);

startService(intent2);

}

case R.id.button:

if (TextUtils.isEmpty(AppInfo.btAddress)){

ToastUtil.showToast(MainActivity.this,"请连接蓝牙...");

startActivity(new Intent(MainActivity.this,SearchBluetoothActivity.class));

}else {

ToastUtil.showToast(MainActivity.this,"打印图片...");

Intent intent2 = new Intent(getApplicationContext(), BtService.class);

intent2.setAction(PrintUtil.ACTION_PRINT_BITMAP);

startService(intent2);

}

// startActivity(new Intent(MainActivity.this,TextActivity.class));

break;

}

}

/**

* handle printer message

*

* @param event print msg event

*/

public void onEventMainThread(PrintMsgEvent event) {

if (event.type == PrinterMsgType.MESSAGE_TOAST) {

ToastUtil.showToast(MainActivity.this,event.msg);

}

}

@Override

protected void onDestroy() {

super.onDestroy();

EventBus.getDefault().register(MainActivity.this);

}

}

java 蓝牙打印_Android蓝牙打印(app源码)相关推荐

  1. java修改动态视频,直播视频app源码,动态修改cron

    直播视频app源码,动态修改cron相关的代码 package com.chashiyu.task.dynamic; import org.springframework.beans.factory. ...

  2. Android Studio打包原生Java影视APP源码

    用Android Studio环境,搭建一个原生Java影视APP源码,各种功能也不错,就是有一点小bug Android Studio安装环境如果有人不会的,可能百度一下,看情况可能下次会出一个An ...

  3. java社交婚恋交友app源码 安卓原生app+后台Spri ngMVC+Mybatis+mysql

    java社交婚恋交友app源码 安卓原生app+后台Spri ngMVC+Mybatis+mysql

  4. 前后端分离的Java微信小程序B2C商城 H5+APP源码

    Java B2C商城微信小程序 H5+APP源码 前后端分离 H5+微信小程序+ Android+IOS, Java SpringBoot+vue 开发语言:JAVA 数据库:MySQL 开发工具:E ...

  5. 绿豆APP源码苹果CMS影视插件版本原生JAVA源码

    纯净原版绿豆APP源码苹果CMS影视插件版本原生JAVA源码,这套绿豆源码相当完美运行非常流畅,纯原汁原味的绿豆UI,不是市面上被改的乱七八糟的版本,其实大家也清楚网上卖几百的也只是换个底图换个图标而 ...

  6. 30款APP源码打包 Java Android安卓App源码 30款打包下载

    [30款APP源码打包 Java Android安卓App源码 30款打包下载](访问密码: 168168)(https://474b.com/file/29013429-461457489)

  7. 比心app源码,Java 单例模式

    比心app源码,Java 单例模式实现的相关代码 概述:单例模式是指在内存中永远只有一个类的实例. 有利于节约内存和保证共享计算的结果正确,方便管理. 单例模式的形式 饿汉式单例:在获取单例对象之前对 ...

  8. 直播app源码,Java的输入输出

    直播app源码,Java的输入输出 第一种输入方法:scanner import java.util.Scanner; // 导入java.util.Scannerpublic class User ...

  9. android 快传 源码_最新安卓仿茄子快传APP源码包括服务端源码Android开发快传类项目源码全套...

    适使用范围:  安卓APP茄子快传源码 Android项目源码相似茄子快传的快传项目包括服务端 运行环境:  Android app 源码详细: 本项目是一个基于安卓的相似茄子快传的项目源码,包括安卓 ...

  10. java计算机毕业设计html5健身房信息管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计html5健身房信息管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计html5健身房信息管理系统源码+mysql数据库+系统+lw文档+部署 本源码技 ...

最新文章

  1. HDU 1052 Tian Ji -- The Horse Racing
  2. 单词:readme emulate prompt cross-reference copyright align
  3. 计算机网络总结:第二章 应用层
  4. oracle查询哪个sql占用资源,查询oracle最耗资源的sql语句
  5. matlab接口与编程,精通MATLAB接口与编程
  6. 【流浪地球】春节十二响程序开源代码
  7. 苹果/mac提供解决方法:macOS Big Sur 更新导致旧款 MacBook Pro 黑屏变砖
  8. Fisher discrimination criterion (费舍尔判别准则)
  9. 硬件管理 远程开机,网络开机
  10. 读取和修改JPEG图片文件的头信息EXIF和JFIF
  11. 【JavaWeb】实现网页验证码
  12. Debezium报错处理系列九:“ddl“ : “# Dummy event replacing event type 160 that slave cannot handle.“
  13. 我想和这个世界说说2
  14. 情人节单身的你,是否用一张智能名片,进行表白
  15. MySQL数据库锁表,如何释放锁
  16. python中用于释放类占用的资源的方法是()_mooc大学英语词汇期末答案
  17. TRS全文检索开发文档及API,工具包
  18. HDFS java API操作
  19. 从1G到5G,移动通讯在路上-------5G的最新表达式
  20. kali渗透测试win10

热门文章

  1. 一个iOS开发者对tvOS SDK的初探
  2. html一些基础标签
  3. HashMap扩容原理
  4. 片状卷积的verilog实现
  5. ElasticSearch数据库的使用简介
  6. IMX6ULL裸机篇之I2C相关寄存器与AP3216C传感器
  7. sql查询之分页查询
  8. I2C配置及调试流程
  9. 世界上有两种TWS耳机,Airpods和非Airpods
  10. 计算机毕业设计springboot家庭支出网页管理系统668mf源码+系统+程序+lw文档+部署