java 蓝牙打印_Android蓝牙打印(app源码)
【实例简介】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源码)相关推荐
- java修改动态视频,直播视频app源码,动态修改cron
直播视频app源码,动态修改cron相关的代码 package com.chashiyu.task.dynamic; import org.springframework.beans.factory. ...
- Android Studio打包原生Java影视APP源码
用Android Studio环境,搭建一个原生Java影视APP源码,各种功能也不错,就是有一点小bug Android Studio安装环境如果有人不会的,可能百度一下,看情况可能下次会出一个An ...
- java社交婚恋交友app源码 安卓原生app+后台Spri ngMVC+Mybatis+mysql
java社交婚恋交友app源码 安卓原生app+后台Spri ngMVC+Mybatis+mysql
- 前后端分离的Java微信小程序B2C商城 H5+APP源码
Java B2C商城微信小程序 H5+APP源码 前后端分离 H5+微信小程序+ Android+IOS, Java SpringBoot+vue 开发语言:JAVA 数据库:MySQL 开发工具:E ...
- 绿豆APP源码苹果CMS影视插件版本原生JAVA源码
纯净原版绿豆APP源码苹果CMS影视插件版本原生JAVA源码,这套绿豆源码相当完美运行非常流畅,纯原汁原味的绿豆UI,不是市面上被改的乱七八糟的版本,其实大家也清楚网上卖几百的也只是换个底图换个图标而 ...
- 30款APP源码打包 Java Android安卓App源码 30款打包下载
[30款APP源码打包 Java Android安卓App源码 30款打包下载](访问密码: 168168)(https://474b.com/file/29013429-461457489)
- 比心app源码,Java 单例模式
比心app源码,Java 单例模式实现的相关代码 概述:单例模式是指在内存中永远只有一个类的实例. 有利于节约内存和保证共享计算的结果正确,方便管理. 单例模式的形式 饿汉式单例:在获取单例对象之前对 ...
- 直播app源码,Java的输入输出
直播app源码,Java的输入输出 第一种输入方法:scanner import java.util.Scanner; // 导入java.util.Scannerpublic class User ...
- android 快传 源码_最新安卓仿茄子快传APP源码包括服务端源码Android开发快传类项目源码全套...
适使用范围: 安卓APP茄子快传源码 Android项目源码相似茄子快传的快传项目包括服务端 运行环境: Android app 源码详细: 本项目是一个基于安卓的相似茄子快传的项目源码,包括安卓 ...
- java计算机毕业设计html5健身房信息管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计html5健身房信息管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计html5健身房信息管理系统源码+mysql数据库+系统+lw文档+部署 本源码技 ...
最新文章
- HDU 1052 Tian Ji -- The Horse Racing
- 单词:readme emulate prompt cross-reference copyright align
- 计算机网络总结:第二章 应用层
- oracle查询哪个sql占用资源,查询oracle最耗资源的sql语句
- matlab接口与编程,精通MATLAB接口与编程
- 【流浪地球】春节十二响程序开源代码
- 苹果/mac提供解决方法:macOS Big Sur 更新导致旧款 MacBook Pro 黑屏变砖
- Fisher discrimination criterion (费舍尔判别准则)
- 硬件管理 远程开机,网络开机
- 读取和修改JPEG图片文件的头信息EXIF和JFIF
- 【JavaWeb】实现网页验证码
- Debezium报错处理系列九:“ddl“ : “# Dummy event replacing event type 160 that slave cannot handle.“
- 我想和这个世界说说2
- 情人节单身的你,是否用一张智能名片,进行表白
- MySQL数据库锁表,如何释放锁
- python中用于释放类占用的资源的方法是()_mooc大学英语词汇期末答案
- TRS全文检索开发文档及API,工具包
- HDFS java API操作
- 从1G到5G,移动通讯在路上-------5G的最新表达式
- kali渗透测试win10