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

QQ登录

只需一步,快速开始

查看: 2676|回复: 3

[结贴] 新手请教:类似这样的插件如何调用?

[复制链接]

2

主题

10

帖子

76

积分

初级会员

Rank: 2

积分
76
QQ
发表于 2017-1-11 11:00:46 | 显示全部楼层 |阅读模式
这是GitHub上的一个获取Gsm信号的一个插件(com.abbasdawood.cordova.signal),js文件如下:
  1. /*
  2. * Custom signal object to get and store the values of advanced signal information returned from native code
  3. * Properties include:
  4. * 1. IMEI
  5. * 2. Operator Name
  6. * 3. CellID latched to
  7. * 4. LAC of the current CellID
  8. * 5. Neighboring Cell Sites
  9. */

  10. var exec = require('cordova/exec'),
  11.     cordova = require('cordova');

  12. var Signal = function() {
  13.     this.imei = null;
  14.     this.operator = null;
  15.     this.cellID = null;
  16.     this.lac = null;
  17.     this.neighbors = {};
  18.     // Create new event handlers on the window (returns a channel instance)
  19.     this.channels = {
  20.         watchingnetwork: cordova.addWindowEventHandler("watchingnetwork")
  21.     };
  22.     for (var key in this.channels) {
  23.         this.channels[key].onHasSubscribersChange = Signal.onHasSubscribersChange;
  24.     }

  25. };

  26. Signal.onHasSubscribersChange = function() {
  27.     exec(signal.status, signal.error, "Signal", "getSignalInfo", []);
  28. }

  29. /**
  30. * Callback for signal initiated
  31. *
  32. * @param {Object} info            keys: imei, isPlugged
  33. */
  34. Signal.prototype.status = function(info) {
  35.     cordova.fireWindowEvent("watchingnetwork", info);
  36.     if (info) {
  37.         if (signal.imei !== info.imei || signal.operator !== info.operator) {

  38.             if (info.imei == null && signal.imei != null) {
  39.                 return; // special case where callback is called because we stopped listening to the native side.
  40.             }

  41.             // Something changed. Fire watching network event

  42.             signal.imei = info.imei;
  43.             signal.operator = info.operator;
  44.             signal.cellID = info.cellID;
  45.             signal.lac = info.lac;
  46.             signal.neighbors = info.neighbors;
  47.         }
  48.     }
  49. };

  50. /**
  51. * Error callback for signal initiated
  52. */
  53. Signal.prototype.error = function(e) {
  54.     console.log("Error initializing advanced network plugin: " + e);
  55. };

  56. var signal = new Signal();

  57. module.exports = signal;
复制代码

require("cordova!com.abbasdawood.cordova.signal");
完了以后不会用了,新手,求指教,谢谢!

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-1-11 14:27:42 | 显示全部楼层
原生的APP使用X5打包的这种情况  首先你要把你需要用到的插件进行封装   也就是自定义插件
http://doc.wex5.com/use-and-custom-cordova-plugin/
然后才能参考下面的文档进行打包
http://docs.wex5.com/mode4-cordova/
回复 支持 反对

使用道具 举报

2

主题

10

帖子

76

积分

初级会员

Rank: 2

积分
76
QQ
 楼主| 发表于 2017-1-11 15:35:32 | 显示全部楼层
本帖最后由 wjqzywmm 于 2017-1-11 15:37 编辑

谢谢回复!这两篇文章我都读过了,也做了几个其他自定义插件的打包、调用。我是想问下,根据这个js,怎么写(singnal.xxx)才能取到imei、operater的值。
回复 支持 反对

使用道具 举报

2

主题

10

帖子

76

积分

初级会员

Rank: 2

积分
76
QQ
 楼主| 发表于 2017-1-11 17:22:47 | 显示全部楼层
还是感谢下万能的度娘,已经明白了,请版主删帖好了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 08:28 , Processed in 0.060708 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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