65 lines
1.3 KiB
Java
65 lines
1.3 KiB
Java
|
|
package com.lianxin.nr510;
|
||
|
|
|
||
|
|
import android.content.Context;
|
||
|
|
import android.content.Intent;
|
||
|
|
|
||
|
|
public class Engine {
|
||
|
|
|
||
|
|
private NR510Running runEngine = null;
|
||
|
|
|
||
|
|
public void start(Context context) {
|
||
|
|
if (runEngine == null) {
|
||
|
|
runEngine = new NR510Running(context);
|
||
|
|
new Thread(runEngine).start();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
public void stop(Context context) {
|
||
|
|
if (runEngine != null) {
|
||
|
|
Intent intent = new Intent("com.lachesis.barcode.STOP_BARCODE");
|
||
|
|
context.sendBroadcast(intent);
|
||
|
|
runEngine.closeRunning();
|
||
|
|
runEngine = null;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
private class NR510Running implements Runnable {
|
||
|
|
|
||
|
|
private boolean scanRunning = true;
|
||
|
|
private Context context;
|
||
|
|
|
||
|
|
public NR510Running(Context context) {
|
||
|
|
this.context = context;
|
||
|
|
}
|
||
|
|
|
||
|
|
public void closeRunning() {
|
||
|
|
scanRunning = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void run() {
|
||
|
|
while (true) {
|
||
|
|
if (scanRunning) {
|
||
|
|
Intent intent = new Intent("com.lachesis.barcode.START_BARCODE");
|
||
|
|
context.sendBroadcast(intent);
|
||
|
|
try {
|
||
|
|
Thread.sleep(1500);
|
||
|
|
} catch (InterruptedException e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
}
|
||
|
|
intent = new Intent("com.lachesis.barcode.STOP_BARCODE");
|
||
|
|
context.sendBroadcast(intent);
|
||
|
|
try {
|
||
|
|
Thread.sleep(1000);
|
||
|
|
} catch (InterruptedException e) {
|
||
|
|
e.printStackTrace();
|
||
|
|
}
|
||
|
|
} else
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|