起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1857|回复: 3

[处理中1] 关于3.6正式版离线地图下载进度监听的问题

[复制链接]

13

主题

38

帖子

148

积分

初级会员

Rank: 2

积分
148
QQ
发表于 2016-11-4 14:10:31 | 显示全部楼层 |阅读模式
在学习3.6正式版百度地图的离线地图模块的例子时发现增加离线地图监听后获取不到下载进度变化到js的回调,调试发现以下规律(收到几次回调后就再也收不到了,DDMS的控制台一致有发送下载带进度的提示): 1.png

下载进度回调不全

下载进度回调不全


修改回调为(注释掉1625,增加1626-1629,增加281-283行)

修改代码

修改代码
4.png
重新打包查看输出,所有进度变化均显示出来了,请分析一下原来的实现是否有不妥之处(为什么想到这么改是因为之前学习cordova的java到js的回调时从网上看到的这种写法):
5.png


关于离线地图的回调监听.zip

332.79 KB, 下载次数: 49

13

主题

38

帖子

148

积分

初级会员

Rank: 2

积分
148
QQ
 楼主| 发表于 2016-11-4 14:19:25 | 显示全部楼层
测试环境:荣耀7,emui4.0.1,安卓6.0
回复 支持 反对

使用道具 举报

1

主题

1831

帖子

821

积分

高级会员

Rank: 4

积分
821
QQ
发表于 2016-11-4 14:38:18 | 显示全部楼层
6901061 发表于 2016-11-4 14:19
测试环境:荣耀7,emui4.0.1,安卓6.0

谢谢您的监督和支持,我们会尽快核实
回复 支持 反对

使用道具 举报

13

主题

38

帖子

148

积分

初级会员

Rank: 2

积分
148
QQ
 楼主| 发表于 2016-11-18 07:52:18 | 显示全部楼层
大雁子 发表于 2016-11-4 14:38
谢谢您的监督和支持,我们会尽快核实

    public void sendPluginResult(PluginResult pluginResult) {
        synchronized (this) {
            if (finished) {
                Log.w(LOG_TAG, "Attempted to send a second callback for ID: " + callbackId + "\nResult was: " + pluginResult.getMessage());
                return;
            } else {
                finished = !pluginResult.getKeepCallback();
            }
        }
        webView.sendPluginResult(pluginResult, callbackId);
    }

    /**
     * Helper for success callbacks that just returns the Status.OK by default
     *
     * @param message           The message to add to the success result.
     */
    public void success(JSONObject message) {
        sendPluginResult(new PluginResult(PluginResult.Status.OK, message));
    }

标红的这里看,没有设置PluginResult的setKeepCallback(true),异步回调时直接返回,不会执行回调,应该是这个原因

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-5 03:36 , Processed in 0.092524 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表