📅  最后修改于: 2021-01-07 10:44:52             🧑  作者: Mango
在上一节中,我们了解了设备信息插件。在本节中,我们将了解其余的插件,即设备方向插件,网络信息插件和电池状态插件。每个插件的完整说明如下:
对于设备方向,我们将使用我们之前的示例,即Device info示例。我们将使用以下步骤在PhoneGap应用程序中使用面向设备的插件:
我们将使用与index.html中预设的代码相同的代码创建一个新文件index2.html 。我们稍后将在index2.html文件而不是index.html中进行更改。
我们将使用 现在,我们将对window.onload函数进行一些更改。我们将创建一个手表ID,因为指南针将一直工作直到停止它。因此,最终,我们要清除该手表ID。我们将使用navigator.compass.watch标题()访问它。该函数具有三个回调函数,即成功,错误和频率。我们将通过以下方式访问watchId: 我们将创建成功和错误回调函数。成功函数和错误函数分别以标题和错误为参数。在错误回调函数,我们将仅使用alert函数,而在成功函数,我们将以以下方式在direction div中设置方向数据: 注意:我们可以或不能看到方向信息。我们只有在设备制造商允许的情况下才能看到它。 现在,我们来看看网络信息插件。我们将在index2.html中添加一些代码行。这些是我们将要使用网络信息插件执行的以下步骤。通过使用此插件,我们可以确切地找到我们所连接的网络类型。 我们将使用 我们将创建一个变量并存储由navigator.connection.type返回的数据,并通过以下方式将该变量传递给警报函数: 它看起来确实不错,但是还需要知道许多其他类型。连接可能是未知的,例如以太网, Wi-Fi ,2G,3G和4G等。我们可以使用枚举访问不同类型的连接。我们将创建一个枚举conType。我们将使用id访问元素,该元素将通过以下方式在UI上显示结果: 现在,我们将在PhoneGap Developer应用程序上运行我们的应用程序: 电池状态是PhoneGap可以与之交互的另一部分硬件。如果要执行关键操作,则需要查看电池状态。我们要确保在操作过程中电池不会耗尽。有两种不同的方法来获取电池状态。我们将使用以下步骤来获取应用程序中的电池状态: 现在,我们将在窗口中附加一个名为Batterystatus的事件侦听器。此事件侦听器将调用onBatteryStatusChange函数。此函数将电池状态作为参数。 batteryStatus事件侦听器将通过以下方式编写: 现在,我们将创建onBatteryStatusChange回调函数。该回调函数包含一个警报函数,该函数会告诉我们有关状态级别以及状态是否已插入的信息。 onBatteryStatusChange函数的设计方式如下: 我们还可以使用Batterylow和Batterycritical事件监听器,而不是使用batterystatus。它们的工作方式与电池状态的工作方式相同。电池电量不足和电池严重事件监听器的设计方式如下: 输出量 h1>
标签在应用程序中添加标题。之后,我们将使用
Hardware
Orientation
3)在window.onload函数更改
var watchId = navigator.compass.watchHeading(success, error, {frequency: 100});
4)创建成功和错误回调函数
function success(heading)
{
document.getElementById('orientation').innerHTML = heading.magneticHeading;
}
function error(error)
{
alert("Compass Error: " + error.code);
}
网络信息插件
1)创建一个用于在UI上显示网络信息的字段
h1>
标签在应用程序中添加标题。之后,我们将使用
Hardware
Network Information
Orientation
2)在window.onload函数添加网络信息
//Network Information
var networkType = navigator.connection.type;
alert(networkType);
var conType = {};
conType[ Connection.UNKOWN ] = "Connection Unknown";
conType[ Connection.ETHERNET ] = "Ethernet";
conType[ Connection.WIFI ] = "wifi";
conType[ Connection.CELL_2G ] = "Cell";
conType[ Connection.CELL_3G ] = "Cell";
conType[ Connection.CELL_4G ] = "Cell";
conType[ Connection.CELL ] = "Cell";
conType[ Connection.NONE ] = "None";
document.getElementById('networkResult').innerHTML = conType[networkType];
电池状态插件
1)创建电池状态事件监听器
//Battery Status
window.addEventListener('batterystatus', onBatteryStatusChange, false);
2)创建onBatteryStatusChange函数
function onBatteryStatusChange(status)
{
alert("Battery Level: " + status.level + " Plugged in: " + status.isPlugged);
}
window.addEventListener('batterylow', onBatteryStatusLow, false);
window.addEventListener('batterycritical', onBatteryCritical, false);
完整的代码
Hardware
Network Information
Orientation