解决反复注册监听的bug
This commit is contained in:
@ -3,6 +3,16 @@ var receiver = null;
|
||||
//接收广播
|
||||
export function recive(success, fail) {
|
||||
|
||||
//在所有页面注册监听前 如果当前应用存在监听 则取消广播监听
|
||||
if (main && receiver) {
|
||||
console.log("取消监听广播");
|
||||
try {
|
||||
main.unregisterReceiver(receiver);
|
||||
} catch (e) {
|
||||
console.error("取消广播监听时出错:", e);
|
||||
}
|
||||
}
|
||||
|
||||
// #ifdef APP
|
||||
main = plus.android.runtimeMainActivity(); //获取activity
|
||||
//创建自定义广播实例
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 3.6 KiB |
@ -44,12 +44,20 @@ if (uni.restoreGlobal) {
|
||||
var main = null;
|
||||
var receiver = null;
|
||||
function recive(success, fail) {
|
||||
if (main && receiver) {
|
||||
formatAppLog("log", "at src/libs/Broadcast.js:8", "取消监听广播");
|
||||
try {
|
||||
main.unregisterReceiver(receiver);
|
||||
} catch (e) {
|
||||
formatAppLog("error", "at src/libs/Broadcast.js:12", "取消广播监听时出错:", e);
|
||||
}
|
||||
}
|
||||
main = plus.android.runtimeMainActivity();
|
||||
receiver = plus.android.implements("io.dcloud.feature.internal.reflect.BroadcastReceiver", {
|
||||
onReceive: function(context, intent) {
|
||||
plus.android.importClass(intent);
|
||||
var action = intent.getAction();
|
||||
formatAppLog("log", "at src/libs/Broadcast.js:13", "zhanglp", action);
|
||||
formatAppLog("log", "at src/libs/Broadcast.js:23", "zhanglp", action);
|
||||
var data;
|
||||
switch (action) {
|
||||
case "com.android.server.scannerservice.broadcast":
|
||||
@ -57,7 +65,7 @@ if (uni.restoreGlobal) {
|
||||
break;
|
||||
case "com.service.scanner.data":
|
||||
data = intent.getExtra("ScanCode");
|
||||
formatAppLog("log", "at src/libs/Broadcast.js:21", "zhanglp", data.replace(/\n/, ""));
|
||||
formatAppLog("log", "at src/libs/Broadcast.js:31", "zhanglp", data.replace(/\n/, ""));
|
||||
break;
|
||||
case "android.intent.action.SCANRESULT":
|
||||
data = intent.getExtra("value");
|
||||
@ -129,7 +137,7 @@ if (uni.restoreGlobal) {
|
||||
main.registerReceiver(receiver, filter);
|
||||
}
|
||||
function unregisterReceiver() {
|
||||
formatAppLog("log", "at src/libs/Broadcast.js:114", "取消监听广播");
|
||||
formatAppLog("log", "at src/libs/Broadcast.js:124", "取消监听广播");
|
||||
main.unregisterReceiver(receiver);
|
||||
}
|
||||
function saveConfig(key, value) {
|
||||
|
BIN
PDA/PDA/unpackage/dist/dev/app-plus/static/锡膏预约.png
vendored
BIN
PDA/PDA/unpackage/dist/dev/app-plus/static/锡膏预约.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 3.6 KiB |
Reference in New Issue
Block a user