-2

我正在尝试获取连接到网站的安卓手机的 BSSID。我找到了一些关于使用 javascript 获取 BSSID 的信息,答案是除非我制作了本机代码或插件,否则这是不可能的。

我知道这有点奇怪,但 Cordova 插件PhoneGap-WifiInfoPlugin似乎是一个解决方案,因为它是由 javascript 组成的。所以我构建并检查了 apk 文件的结构,文件assets/www/夹中的所有文件似乎都在 apache 上工作。

所以我将所有文件和文件夹(index.html, cordova.js, cordova-js.src...)放在Apache/htdocs文件夹中,并index.html通过 chrome 浏览器连接到 android 模拟器上。但是插件不起作用并且wifi.lan总是返回空对象,{}. 另一方面,Cordova webview 应用程序运行良好,并在模拟器上显示 bssid。所以插件没有错误。

我注意到nativeApiProviderincordova.js是空的,并且require('cordova/android/nativeapiprovider')不工作。我尝试通过html标签加载所有javascript<script src="XXXX">index.html完成加载JavaScript。但它没有再次起作用。

有没有办法在网络服务器上使用cordova插件,或者我必须找到另一种方式?

以下是access.log历史记录:

127.0.0.1 - - [15/Mar/2018:15:09:02 +0900] "GET /index.html HTTP/1.1" 200 3225
127.0.0.1 - - [15/Mar/2018:15:09:02 +0900] "GET /js/jquery-1.12.3.js HTTP/1.1" 200 293650
127.0.0.1 - - [15/Mar/2018:15:09:02 +0900] "GET /cordova.js HTTP/1.1" 200 73303
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /js/index.js HTTP/1.1" 200 1664
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /cordova_plugins.js HTTP/1.1" 200 465
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /js/ni.js HTTP/1.1" 200 79
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /plugins/org.apache.cordova.wifiinfo/www/cordovaWifiInfo.js HTTP/1.1" 200 1390
127.0.0.1 - - [15/Mar/2018:15:09:12 +0900] "GET /cordova-js-src/exec.js HTTP/1.1" 200 11143
127.0.0.1 - - [15/Mar/2018:15:09:20 +0900] "GET /cordova-js-src/platform.js HTTP/1.1" 200 4924
127.0.0.1 - - [15/Mar/2018:15:09:20 +0900] "GET /cordova-js-src/android/nativeapiprovider.js HTTP/1.1" 200 1322
127.0.0.1 - - [15/Mar/2018:15:09:20 +0900] "GET /cordova-js-src/android/promptbasednativeapi.js HTTP/1.1" 200 1441
127.0.0.1 - - [15/Mar/2018:15:09:20 +0900] "GET /cordova-js-src/plugin/android/app.js HTTP/1.1" 200 4005
4

1 回答 1

0

似乎是一个解决方案,因为它是由 javascript 组成的

这是Java。Java 和 JavaScript 是完全不同的编程语言。

即使它是用 JavaScript 编写的,它也可能会调用 Cordova 提供的 API,而不是 Web 浏览器提供的 API。

于 2018-03-15T08:19:39.960 回答