NFC近場通訊,NFC列印開發

2021-08-21 23:34:53 字數 2289 閱讀 7853

在進行nfc列印時我們先要了解印表機的屬性,本文中印表機以exp342為標準進行編寫整合技術文件。exp342的部分設定請參考該產品的使用說明書。我們在進行android整合開發時需要注意印表機的黑標感應點的位置,確定列印紙張黑標是否完全覆蓋印表機黑標感應點,如果未完全覆蓋將會導致列印紙不能走到你預期想要的位置。標準紙張左黑標長度2.2cm,右邊黑標長1.6cm,如果黑標未能達到該標準,系統默然將走紙長度為31.25cm處。

在專案project   build.gradle新增

allprojects }}

dependencies

步驟一:過濾標籤,我們都知道每個nfc都有標籤,當裝置靠近標籤時裝置會前去解析標籤,這裡我們將過濾標籤,再程式中只解析印表機標籤,如果想要系統再靠近標籤時不彈出系統空標籤,在實際開發種我們將以下**寫在baseactivity中,讓其他activity繼承該該baseactivity。

nfcprinter = new nfcprinter(this);

boolean result = nfcprinter.check_loacl_nfc_device();//判斷是否支援nfc

if (!result)

return;

nfcprinter.setnfcforeground();

步驟二:再activity 的onresume與onpause,啟動與暫停讀取印表機標籤。

@override

public void onresume()

}@override

public void onpause()

}

步驟三:組裝資料,所有的資料都是通過esc工具類封裝,在esc

中主要有以下重要的方法:

esc esc = new esc(2048);

esc.reset();//復位esc指令

esc.feedrightmark();//走紙到右黑標

esc.feedleftmark()//走紙到左黑標

esc.feeddots(int dots)// 走紙n點,每個點0.125mm,有點相當於空格

esc. feedlines(final int nlines)// 走紙n行,相當於換行符

esc.setalign(escdefine.align.center);// 居中對齊,escdefine.align支援left,center,rifht,三種對齊方式。

esc.settextsize(escdefine.bar_text_size.ascii_12x24);//設定字型大小,在該工具中封裝了2種字型大小分別是ascii_12x24,ascii_8x16

esc.text(string text);// 新增文字

esc.moulddefine(escdefine.mould_id id, final byte data, final int datalen)//設定模板

esc.mouldrun(escdefine.mould_id.m0, 1);//執行模板

esc.getescdata()//得到裝的esc資料

步驟四:將封裝的資料傳送給印表機 

byte data = esc.getescdata();//獲取需要傳送的資料

this.nfcprinter.startprinttask(data, 1000 * 30);//開啟執行緒傳送資料

步驟五:

通過handler來接受印表機反饋的結果。

public static handler uimhandler;

@override

protected void onstart() };}

其他列印裝置接入請修改esc 類中的指令**,例如:

/**

* 復位esc指令

* @return

*/public boolean reset()

;return add(cmd);

}

其中我們看見到的 

0x1b, 0x40
這兩個進製碼表示印表機的復位,你只需根據其他印表機提供的進製碼進行修改 。詳情參考      例子

Android近場通訊 NFC基礎(二)

應用程式如何排程nfc標籤 當標籤排程系統完成對nfc標籤和它的標識資訊封裝的intent物件的建立時,它會把該intent物件傳送給感興趣的應用程式。如果有多個應用程式能夠處理該intent物件,就會顯示activity選擇器,讓使用者選擇activity。標籤排程系統定義了三種intent物件,...

Android近場通訊 NFC基礎(四)

從intent中獲取資訊 如果因為nfc的intent而啟動乙個activity,那麼你就能夠從intent中獲取被掃瞄到的nfc標籤的相關資訊。根據被掃瞄到的標籤,intent物件能夠以下額外的資訊 1.extra tag 必須的 它是乙個代表了被掃瞄到的標籤的 tag物件 2.extra nde...

Android近場通訊 高階NFC(一)

本文譯自 本文介紹一些高階的nfc專題,如多樣的nfc標籤技術 編寫nfc標籤 以及前台排程,前台排程允許在前台的應用程式優先排程intent事件,即使還有其他的過濾同樣的intent事件的應用程式存在。android所支援的nfc標籤技術 在使用nfc標籤和android裝置來進行工作的時候,使用...