Cordova 电池状态 - 如何立即获得水平?

Posted

技术标签:

【中文标题】Cordova 电池状态 - 如何立即获得水平?【英文标题】:Cordova batterystatus - how to get level straight away? 【发布时间】:2014-03-31 10:29:58 【问题描述】:

我正在使用这个事件: http://cordova.apache.org/docs/en/3.0.0/cordova_events_events.md.html#batterystatus

它工作正常,当它改变或开始/结束充电时它会获取电池电量。

但是,如何在打开应用程序时立即获得电池电量?谢谢。

【问题讨论】:

【参考方案1】:

您好,您可以编写一个插件来获取当前电池电量,更多关于插件开发检查this 并在 deviceready 事件中调用此插件

*javascript

 cordova.exec(function(status) 

       console.log(status); //will get current ststus

   , function(error) , "Status",
                 "Status", ["givestatus"]);

这是本机代码Objective C

- (void)Status:(CDVInvokedUrlCommand*)command

CDVPluginResult* pluginResult = nil;
NSString* myarg = [command.arguments objectAtIndex:0];

if (myarg != nil) 

[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];
UIDevice *myDevice = [UIDevice currentDevice];
[myDevice setBatteryMonitoringEnabled:YES];
double batLeft = (float)[myDevice batteryLevel] * 100;




pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:@"%.f",batLeft]];
 else 
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR    messageAsString:@"Arg was null"];


[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];

也将新项目添加到 config.xml

<feature name="Status">
    <param name="ios-package" value="Status" />
</feature>

【讨论】:

感谢您的回复! :) 你能再帮忙一点吗,在哪里添加这些东西?我在看这里,但我不是 100% 确定该怎么做。 cordova.apache.org/docs/en/3.4.0/… 我需要在 /platforms/ios/appname/Plugins 中添加一个文件夹,对吗?然后我需要在这个文件夹中添加 status.h 和 status.m 吗?但我不确定在哪些文件中放什么。 我在其中包含了一个 .js 文件:CDV = ( typeof CDV == 'undefined' ? : CDV ); var cordova = window.cordova || window.Cordova; cordova.exec(function(status) console.log(status); //will get current ststus , function(error) , "Status", "Status", ["givestatus"]); 我在配置文件中添加了功能参考。但是我不确定如何实现本机代码。 将其中一行改成这样,现在可以了。谢谢! pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:[NSString stringWithFormat:@"%.0f", batLeft]];

以上是关于Cordova 电池状态 - 如何立即获得水平?的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何正确获得电池电量

如何获取 Mac(Cocoa 或 C)的电池充电水平,具体以 mWh(不是百分比)为单位

在数字中插入点 - Android

如何设置始终显示的警报?

如何在 Linux 终端下检查笔记本电池状态

cordova组件