我想开发一个Firefox for Android的插件,它可以获取当前网络链接是2G / 3G / 4G还是wifi的信息,并将此信息作为http标头发送到Web服务器。我知道用本机Java代码获取这样的信息是可能的。是否有一些可以提供此信息的Firefox插件API?
答案 0 :(得分:1)
是的,使用nsINetworkLinkService
// Where Cc and Ci are shortcuts for Components.classes and .interfaces
let network = Cc["@mozilla.org/network/network-link-service;1"].
getService(Ci.nsINetworkLinkService);
console.log(network.linkType);
对于.linkType
的值,请参阅interface definition,例如.linkType == Ci.nsINetworkLinkService.LINK_TYPE_4G
。
此服务应该可以在所有平台上使用,但某些平台(例如撰写本文时的OSX)可能只有一个存根总是返回LINK_TYPE_UNKNOWN
或在访问.linkType
时完全抛出异常属性。
在Android上,它应该始终返回合理的值,只要Android本身返回合理的值。