帖子
帖子
用户
博客
课程
显示全部楼层
2
帖子
0
勋章
11
Y币

[插件开发] 自定义模块开发完成,但在js代码中调用后没反应...

[复制链接]
发表于 2015-6-25 18:46:58
本人一名android开发程序员,最近应客户要求在APICloud开发一个锁屏,由于第一次开发APICloud模块,模块出来后,在js上调用什么反应都没有(注:andrid 原生上没问题),以严格按照APICloud 的包结构生成模块,并上传APICloud 模块成功, 求大神指点...非常感谢
2
帖子
0
勋章
11
Y币
/**
         * 获取当前位置
         *
         * @param moduleContext
         * @return
         */
        @UzJavascriptMethod
        public void jsmethod_currentLocation(final UZModuleContext moduleContext) {
                CommonUtil.showToast("获取当前位置");
                final Handler handler = new Handler() {
                        @Override
                        public void handleMessage(Message msg) {
                                int what = msg.what;
                                switch (what) {
                                case OK:
                                        Location location = CareService.mLocation;
                                        JSONObject result = new JSONObject();
                                        String loc = location.getLongitude() + ","
                                                        + location.getLatitude();
                                       
                                        try {
                                                result.put("location", loc);
                                        } catch (JSONException e) {
                                                e.printStackTrace();
                                        }
                                        moduleContext.success(result, false);
                                        break;
                                case FAIL:
                                        moduleContext.error(null, null, true);
                                        break;
                                }
                        }
                };

                new Thread(new Runnable() {
                        @Override
                        public void run() {
                                for (int i = 0; i < 10; i++) {
                                        Location location = CareService.mLocation;
                                        if (location == null) {
                                                try {
                                                        Thread.sleep(500);
                                                } catch (InterruptedException e) {
                                                        e.printStackTrace();
                                                }
                                        } else {
                                                handler.sendEmptyMessage(OK);
                                                break;
                                        }
                                        if (i == 9) {
                                                handler.sendEmptyMessage(FAIL);
                                        }
                                }
                        }
                }).start();
        }


这是模块中一个方法
2
帖子
0
勋章
11
Y币
                var carebao = null;
                apiready = function() {
                        carebao = api.require('carebao');
                };
               
                /**
                 * 获取当前位置
                 *
                 */
                function currentLocation() {
                        carebao.currentLocation(function(ret, err) {
                                alert(JSON.stringify(ret));
                        });
        这是在APIClooud ide 中的调用方法
5
帖子
0
勋章
1万+
Y币
JSON文件写对了吗,不要有[]
2
帖子
0
勋章
11
Y币
是我 返回的JSON吗
您需要登录后才可以回帖 登录

本版积分规则