【发布时间】:2019-12-17 01:48:30
【问题描述】:
我有一个带有来自库 (emdk ir scan) 的重写方法 (onData) 的活动。 我还有另一项活动,使用相同的方法做其他事情。 如果您在多个活动中使用它,则需要“复制”它,它在他们的文档中。
Error: error Activity has leaked ServiceConnection com.symbol.emdk.EMDKServiceConnection@fd186e9 原来绑定在这里
问题是,当我在活动(新意图和完成)之间切换时,它似乎使用旧的 onData 而不是新活动中的。
示例:我在活动 1 中,用户使用此活动中的 onData 方法(显然),一切正常。然后他切换到活动 2,当它工作时,碰巧使用活动 1 中的 onData 而不是活动 2 中的 onData:-|
不知道我有没有解释过,但是很复杂:-)
@Override
public void onData(ScanDataCollection scanDataCollection) {
bla bla bla
}
@Override
protected void onPause() {
super.onPause();
deInitScanner();
if (barcodeManager != null) {
barcodeManager.removeConnectionListener(this);
barcodeManager = null;
deviceList = null;
}
if (emdkManager != null) {
emdkManager.release(EMDKManager.FEATURE_TYPE.BARCODE);
}
}
@Override
protected void onResume() {
super.onResume();
if (emdkManager != null) {
barcodeManager = (BarcodeManager) emdkManager.getInstance(EMDKManager.FEATURE_TYPE.BARCODE);
if (barcodeManager != null) {
barcodeManager.addConnectionListener(this);
}
enumerateScannerDevices();
spinnerScannerDevices.setSelection(scannerIndex);
try {
initScanner();
} catch (ScannerException e) {
e.printStackTrace();
}
scanner.triggerType = Scanner.TriggerType.HARD;
}
}
【问题讨论】:
-
这个 onData 什么时候调用?
-
用 IR 扫描后直接
标签: android android-intent android-activity methods overriding