联新 pda的支持 已经 adapter 关闭的判断
This commit is contained in:
@ -11,12 +11,13 @@ android {
|
||||
minSdk 28
|
||||
targetSdk 28
|
||||
versionCode 1
|
||||
versionName "1.3"
|
||||
versionName "1.4"
|
||||
|
||||
// 1.0 IDATA广播模式处理
|
||||
// 1.1 霍尼韦尔的监听修改(扫描网站二维码跳出程序,监听失效,调整)、斑马PDA广播模式设置
|
||||
// 1.2 霍尼韦尔EDA56、jdk11,gradle7.3、海信PDA广播支持
|
||||
// 1.3 东集 pda的支持
|
||||
// 1.4 联新 pda的支持 已经 adapter 关闭的判断
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ package chaoran.business;
|
||||
public enum BrandEnum {
|
||||
//枚举名即为valueOf()
|
||||
HISENSE("海信", "hisense"),
|
||||
LACHESIS("联新", "lachesis"),
|
||||
UROBO("优博讯", "urobo"),
|
||||
ROCKCHIP("瑞芯微电子", "rockchip"),
|
||||
TEST("测试设备", "test"),
|
||||
|
||||
@ -102,6 +102,8 @@ public class MainActivity extends AppCompatActivity implements ResultListener{
|
||||
adapter = new ZebraAdapter(this, this);
|
||||
case HISENSE:
|
||||
adapter = new HisenseAdapter(this, this);
|
||||
case LACHESIS:
|
||||
adapter = new LachesisAdapter(this, this);
|
||||
}
|
||||
if (null != adapter) {
|
||||
adapter.start();
|
||||
@ -203,8 +205,10 @@ public class MainActivity extends AppCompatActivity implements ResultListener{
|
||||
//webView.loadUrl(url());
|
||||
// voiceEngine.reload();
|
||||
super.onResume();
|
||||
adapter.stop();
|
||||
adapter.start();
|
||||
if (adapter != null) {
|
||||
adapter.stop();
|
||||
adapter.start();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -214,7 +218,9 @@ public class MainActivity extends AppCompatActivity implements ResultListener{
|
||||
}
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
adapter.stop();
|
||||
if (adapter != null) {
|
||||
adapter.stop();
|
||||
}
|
||||
super.onDestroy();
|
||||
if (diPlayer != null) {
|
||||
diPlayer.stop();
|
||||
|
||||
@ -0,0 +1,53 @@
|
||||
package chaoran.business.adapter;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
|
||||
import chaoran.business.activity.ResultListener;
|
||||
import chaoran.business.strategy.Strategy;
|
||||
|
||||
public class LachesisAdapter implements Adapter {
|
||||
private Context context;
|
||||
private ResultListener resultListener;
|
||||
private Strategy strategy;
|
||||
|
||||
|
||||
public LachesisAdapter(Context context, ResultListener resultListener) {
|
||||
this.context = context;
|
||||
this.resultListener = resultListener;
|
||||
strategy = new Receiver();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
strategy.executeStrategy(resultListener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
strategy.exclusiveStrategy();
|
||||
}
|
||||
|
||||
public class Receiver extends BroadcastReceiver implements Strategy {
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
resultListener.result(intent.getStringExtra("data"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void executeStrategy(ResultListener resultListener) {
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction("chaoran");
|
||||
filter.setPriority(2);
|
||||
context.registerReceiver(this, filter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void exclusiveStrategy() {
|
||||
context.unregisterReceiver(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user