解决反复注册监听的bug
This commit is contained in:
@ -3,6 +3,16 @@ var receiver = null;
|
|||||||
//接收广播
|
//接收广播
|
||||||
export function recive(success, fail) {
|
export function recive(success, fail) {
|
||||||
|
|
||||||
|
//在所有页面注册监听前 如果当前应用存在监听 则取消广播监听
|
||||||
|
if (main && receiver) {
|
||||||
|
console.log("取消监听广播");
|
||||||
|
try {
|
||||||
|
main.unregisterReceiver(receiver);
|
||||||
|
} catch (e) {
|
||||||
|
console.error("取消广播监听时出错:", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// #ifdef APP
|
// #ifdef APP
|
||||||
main = plus.android.runtimeMainActivity(); //获取activity
|
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 main = null;
|
||||||
var receiver = null;
|
var receiver = null;
|
||||||
function recive(success, fail) {
|
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();
|
main = plus.android.runtimeMainActivity();
|
||||||
receiver = plus.android.implements("io.dcloud.feature.internal.reflect.BroadcastReceiver", {
|
receiver = plus.android.implements("io.dcloud.feature.internal.reflect.BroadcastReceiver", {
|
||||||
onReceive: function(context, intent) {
|
onReceive: function(context, intent) {
|
||||||
plus.android.importClass(intent);
|
plus.android.importClass(intent);
|
||||||
var action = intent.getAction();
|
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;
|
var data;
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case "com.android.server.scannerservice.broadcast":
|
case "com.android.server.scannerservice.broadcast":
|
||||||
@ -57,7 +65,7 @@ if (uni.restoreGlobal) {
|
|||||||
break;
|
break;
|
||||||
case "com.service.scanner.data":
|
case "com.service.scanner.data":
|
||||||
data = intent.getExtra("ScanCode");
|
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;
|
break;
|
||||||
case "android.intent.action.SCANRESULT":
|
case "android.intent.action.SCANRESULT":
|
||||||
data = intent.getExtra("value");
|
data = intent.getExtra("value");
|
||||||
@ -129,7 +137,7 @@ if (uni.restoreGlobal) {
|
|||||||
main.registerReceiver(receiver, filter);
|
main.registerReceiver(receiver, filter);
|
||||||
}
|
}
|
||||||
function unregisterReceiver() {
|
function unregisterReceiver() {
|
||||||
formatAppLog("log", "at src/libs/Broadcast.js:114", "取消监听广播");
|
formatAppLog("log", "at src/libs/Broadcast.js:124", "取消监听广播");
|
||||||
main.unregisterReceiver(receiver);
|
main.unregisterReceiver(receiver);
|
||||||
}
|
}
|
||||||
function saveConfig(key, value) {
|
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