针对NFC-Powered e-Paper安卓开发,我们提供了SDK,将发送函数部分封装好,用户在开发的时候,只需要准备好图像数据, 通过调用函数即可实现图像传输到NFC-Powered e-Paper上进行刷新。
整个SDK中提供了两个函数,分别是发送函数和进度函数
编号 | 对应型号 |
---|---|
1 | 2.13inch |
2 | 2.9inch |
3 | 4.2inch |
4 | 7.5inch |
5 | 7.5inch HD |
6 | 2.7inch |
编号 | 尺寸 | 宽 | 高 |
---|---|---|---|
1 | 2.13inch | 250 | 122 |
2 | 2.9inch | 296 | 128 |
3 | 4.2inch | 400 | 300 |
4 | 7.5inch | 800 | 480 |
5 | 7.5inch HD | 880 | 528 |
6 | 2.7inch | 264 | 176 |
- protected void onNewIntent(Intent intent) {//识别到NFC
- if (mWriteMode && NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
- detectedTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
- String[] tech = detectedTag.getTechList();//得到描述符
- if(tech[0].equals("android.nfc.tech.NfcA")) {//如果描述符正确
- Thread t = new Thread() {//创建进程 保证主程序不阻塞
- @Override
- public void run() {
- Boolean success = false;
- NfcA tntag;//NFC接口
- final a a = new a();//创建发送的实例。
- a.a();//初始化发送函数
- Thread thread = new Thread(new Runnable() {//创建线程
- @Override
- public void run() {
- EPD_total_progress = 0;
- while(EPD_total_progress != -1){
- EPD_total_progress = a.b();//读取进度
- if(EPD_total_progress == -1){
- break;
- }
- setStatusBody(getString(R.string.txing) + EPD_total_progress +"%");
- if(EPD_total_progress == 100 ){
- break;
- }
- SystemClock.sleep(10);//防止过度占用CPU
- }
- }
- });
- thread.start();//开启线程
- tntag = NfcA.get(detectedTag);//获取给定标签的实例
- try {
- int whether_succeed = a.a(tntag,Size_Flag, bmp_send);//发送函数
- if(whether_succeed == 1){
- success = true;
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- checkNFCpopwindow.dismiss(); //窗口提示
- }
- });
- Success_Sound_Effects();
- }else{
- setStatusBody(getString(R.string.txfail));
- }
- } finally {
- try {
- if (success == false) {
- setStatusBody(getString(R.string.txfail));
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- checkNFCpopwindow.dismiss();
- }
- });
- }
- tntag.close();
- } catch (IOException e) {//发送异常处理 NFC I/O异常
- e.printStackTrace();
- }
- }
- }
- };
- t.start();//开启线程
- }
- }
- }