apicloud apicloud

注册
查看: 3566|回复: 16

[App引擎] addEventListener捕获物理键,本地真机调试成功,云编译后无效

驾校小白

UID:566354

主题:
1
帖子:
8
云币:
2

APICloud粉丝装逼侠

[App引擎] addEventListener捕获物理键,本地真机调试成功,云编译后无效

3566 16 | 发表于 2017-12-13 10:09:45 |阅读模式 | |
本帖最后由 csdudu 于 2018-1-19 16:26 编辑
  1. <script src="script/api.js"></script>
  2. <script>
  3. apiready = function () {
  4.   console.log(api);
  5.   api.addEventListener({
  6.       name: "keyback"
  7.   }, function(ret, err){
  8.       alert('按了退出键');
  9.       return false
  10.   });

  11.    api.addEventListener({
  12.         name: 'volumeup' // 设备音量加键被点击事件,仅 Android 平台有效
  13.     }, function(ret, err) {
  14.         alert('!!按了音量加键');
  15.     });
  16. }
复制代码
主要代码如上。本地wifi真机调试,按这两个物理键,都能成功弹窗,但是云编译后就不行了,似乎根本就没捕获到按键一样。Api对象是正常的,用vconsole.js查看,能看到。
求指点!

---------------------------------------------------
走了无数弯路,做了许多测试,前天才找到了问题的答案!因为我在整个调用体系中,调用了两次apiready,后者(在index.html中)定义自然覆盖了前者(其它页面中)。因此就出现,在单页中测试没问题,跟index.html一起打包,就失效的问题。-------怪自己对于打包的架构不熟悉,使用了apicloud新建时推荐的index.html+Frame页结构,其实没有任何必要使用frame。

其实下面的答主告诉我要注意frame结构,我也轻率的回答了没有使用frame,可是没想到,我最顶层的结构就是一个Frame---这真是太讽刺了。我还以为那是apicloud钦定的顶层结构,根本就没敢去怀疑它!其实根本就不需要用Frame!

主题:
4
帖子:
3909
云币:
3144
发表于 2017-12-13 10:20:16 |
你这些代码都是写在win上的吗

驾校小白

UID:566354

主题:
1
帖子:
8
云币:
2

APICloud粉丝装逼侠

 楼主| 发表于 2017-12-13 15:40:30 |
piewun949116 发表于 2017-12-13 10:20
你这些代码都是写在win上的吗

是的。apicloud-studio2+win10

职业车手

UID:441392

主题:
33
帖子:
2306
云币:
2775

APICloud粉丝志愿者一周年中秋节女朋友装逼侠单身狗超人锤子侠SB侠我李白贼6APICloud大会专属勋章不觉明厉强者王者足球狗捣蛋鬼儿童节快乐

发表于 2017-12-13 16:00:01 |
本帖最后由 杨愿 于 2017-12-13 16:03 编辑

volumeup


设备音量加键被点击事件,仅 Android 平台有效

该事件必须在 Window 中注册才有效,Frame 中注册无效,并且只在当前屏幕上的 window 才能收到回调。
  1. api.addEventListener({
  2.     name: 'volumeup'
  3. }, function(ret, err) {
  4.     alert('按了音量加键');
  5. });
复制代码


console.log(api);还有我很好奇这段代码。

驾校小白

UID:566354

主题:
1
帖子:
8
云币:
2

APICloud粉丝装逼侠

 楼主| 发表于 2017-12-13 16:06:03 |

没用到Frame,只针对安卓平台。还是没听明白您的意思。

职业车手

UID:441392

主题:
33
帖子:
2306
云币:
2775

APICloud粉丝志愿者一周年中秋节女朋友装逼侠单身狗超人锤子侠SB侠我李白贼6APICloud大会专属勋章不觉明厉强者王者足球狗捣蛋鬼儿童节快乐

发表于 2017-12-13 16:39:06 |
csdudu 发表于 2017-12-13 16:06
没用到Frame,只针对安卓平台。还是没听明白您的意思。

QQ截图20171213163933.png 我试了一下,没问题

驾校小白

UID:566354

主题:
1
帖子:
8
云币:
2

APICloud粉丝装逼侠

 楼主| 发表于 2017-12-13 17:55:18 |
杨愿 发表于 2017-12-13 16:39
我试了一下,没问题

请问你是做了云编译的结果么?能否把apk共享给我试下?我在本地真机调试也没问题,就是云编译以后就不行了。

老司机

UID:253706

主题:
176
帖子:
16972
云币:
8007
发表于 2017-12-13 17:59:12 |
csdudu 发表于 2017-12-13 17:55
请问你是做了云编译的结果么?能否把apk共享给我试下?我在本地真机调试也没问题,就是云编译以后就不行了 ...

有没有提交代码到云端,再云编译?

驾校小白

UID:566354

主题:
1
帖子:
8
云币:
2

APICloud粉丝装逼侠

 楼主| 发表于 2017-12-13 21:39:44 |
gigie 发表于 2017-12-13 17:59
有没有提交代码到云端,再云编译?

肯定提交了,为了避免犯错,我专门写了一个测试文件,并做了标记。

职业车手

UID:441392

主题:
33
帖子:
2306
云币:
2775

APICloud粉丝志愿者一周年中秋节女朋友装逼侠单身狗超人锤子侠SB侠我李白贼6APICloud大会专属勋章不觉明厉强者王者足球狗捣蛋鬼儿童节快乐

发表于 2017-12-14 08:39:07 |
csdudu 发表于 2017-12-13 17:55
请问你是做了云编译的结果么?能否把apk共享给我试下?我在本地真机调试也没问题,就是云编译以后就不行了 ...

云编译之后的。
12下一页
您需要登录后才可以回帖 登录 | 立即注册

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