📜  方向,网络和电池状态插件

📅  最后修改于: 2021-01-07 10:44:52             🧑  作者: Mango

方向,网络和电池状态插件

在上一节中,我们了解了设备信息插件。在本节中,我们将了解其余的插件,即设备方向插件,网络信息插件电池状态插件。每个插件的完整说明如下:

设备方向插件

对于设备方向,我们将使用我们之前的示例,即Device info示例。我们将使用以下步骤在PhoneGap应用程序中使用面向设备的插件:

1)创建index2.html文件

我们将使用与index.html中预设的代码相同的代码创建一个新文件index2.html 。我们稍后将在index2.html文件而不是index.html中进行更改。

2)创建一个字段以在UI上显示方向

我们将使用

标签在应用程序中添加标题。之后,我们将使用
标签使用一个字段在用户界面上显示方向信息。


        

Hardware

Orientation

3)在window.onload函数更改

现在,我们将对window.onload函数进行一些更改。我们将创建一个手表ID,因为指南针将一直工作直到停止它。因此,最终,我们要清除该手表ID。我们将使用navigator.compass.watch标题()访问它。该函数具有三个回调函数,即成功,错误和频率。我们将通过以下方式访问watchId:

var watchId = navigator.compass.watchHeading(success, error, {frequency: 100});

4)创建成功和错误回调函数

我们将创建成功和错误回调函数。成功函数和错误函数分别以标题和错误为参数。在错误回调函数,我们将仅使用alert函数,而在成功函数,我们将以以下方式在direction div中设置方向数据:

function success(heading)
{
          document.getElementById('orientation').innerHTML = heading.magneticHeading;
}
            
function error(error)
{
          alert("Compass Error: " + error.code);
}

注意:我们可以或不能看到方向信息。我们只有在设备制造商允许的情况下才能看到它。

网络信息插件

现在,我们来看看网络信息插件。我们将在index2.html中添加一些代码行。这些是我们将要使用网络信息插件执行的以下步骤。通过使用此插件,我们可以确切地找到我们所连接的网络类型。

1)创建一个用于在UI上显示网络信息的字段

我们将使用

标签在应用程序中添加标题。之后,我们将使用
标签使用一个字段在用户界面上显示方向信息。


        

Hardware

Network Information

Orientation

2)在window.onload函数添加网络信息

我们将创建一个变量并存储由navigator.connection.type返回的数据,并通过以下方式将该变量传递给警报函数:

//Network Information
var networkType = navigator.connection.type;
alert(networkType);    

它看起来确实不错,但是还需要知道许多其他类型。连接可能是未知的,例如以太网, Wi-Fi ,2G,3G和4G等。我们可以使用枚举访问不同类型的连接。我们将创建一个枚举conType。我们将使用id访问元素,该元素将通过以下方式在UI上显示结果:

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]; 

现在,我们将在PhoneGap Developer应用程序上运行我们的应用程序:

电池状态插件

电池状态是PhoneGap可以与之交互的另一部分硬件。如果要执行关键操作,则需要查看电池状态。我们要确保在操作过程中电池不会耗尽。有两种不同的方法来获取电池状态。我们将使用以下步骤来获取应用程序中的电池状态:

1)创建电池状态事件监听器

现在,我们将在窗口中附加一个名为Batterystatus的事件侦听器。此事件侦听器将调用onBatteryStatusChange函数。此函数将电池状态作为参数。 batteryStatus事件侦听器将通过以下方式编写:

//Battery Status
window.addEventListener('batterystatus', onBatteryStatusChange, false);

2)创建onBatteryStatusChange函数

现在,我们将创建onBatteryStatusChange回调函数。该回调函数包含一个警报函数,该函数会告诉我们有关状态级别以及状态是否已插入的信息。 onBatteryStatusChange函数的设计方式如下:

function onBatteryStatusChange(status)
{
               alert("Battery Level: " + status.level + " Plugged in: " + status.isPlugged);
} 

我们还可以使用Batterylow和Batterycritical事件监听器,而不是使用batterystatus。它们的工作方式与电池状态的工作方式相同。电池电量不足和电池严重事件监听器的设计方式如下:

window.addEventListener('batterylow', onBatteryStatusLow, false);
window.addEventListener('batterycritical', onBatteryCritical, false);

完整的代码



    
        
        
        Hardware
        
    
    
        

Hardware

Network Information

Orientation

输出量