github上的插件版本需要针对 Phonegap 的最新版本进行更新。我需要使用它,所以我更新了它。我的包含更新插件的 XCode 测试项目可以从这里下载。更新插件的源代码:
电源管理.h
/*
* Copyright (C) 2011-2012 Wolfgang Koller
*
* This file is part of GOFG Sports Computer - http://www.gofg.at/.
*
* GOFG Sports Computer is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GOFG Sports Computer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* Cordova (iOS) plugin for accessing the power-management functions of the device
*/
#ifdef CORDOVA_FRAMEWORK
#import <CORDOVA/CDVPlugin.h>
#else
#import "CORDOVA/CDVPlugin.h"
#endif
/**
* Interface which does the actual handling
*/
@interface PowerManagement :CDVPlugin {
}
/**
* Sets the idleTimerDisable property to true so that the idle timeout is disabled
*/
- (void) acquire:(CDVInvokedUrlCommand*)command;
/**
* Sets the idleTimerDisable property to false so that the idle timeout is enabled
*/
- (void) release:(CDVInvokedUrlCommand*)command;
@end
电源管理.m
/*
* Copyright (C) 2011-2012 Wolfgang Koller
*
* This file is part of GOFG Sports Computer - http://www.gofg.at/.
*
* GOFG Sports Computer is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GOFG Sports Computer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* Cordova (iOS) plugin for accessing the power-management functions of the device
*/
#import "PowerManagement.h"
/**
* Actual implementation of the interface
*/
@implementation PowerManagement
- (void) acquire:(CDVInvokedUrlCommand*)command;
{
CDVPluginResult* pluginResult = nil;
// Acquire a reference to the local UIApplication singleton
UIApplication* app = [UIApplication sharedApplication];
if( ![app isIdleTimerDisabled] ) {
[app setIdleTimerDisabled:true];
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
}
else {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ILLEGAL_ACCESS_EXCEPTION messageAsString:@"IdleTimer already disabled"];
}
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}
- (void) release:(CDVInvokedUrlCommand*)command;
{
CDVPluginResult* pluginResult = nil;
// Acquire a reference to the local UIApplication singleton
UIApplication* app = [UIApplication sharedApplication];
if( [app isIdleTimerDisabled] ) {
[app setIdleTimerDisabled:false];
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
}
else {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ILLEGAL_ACCESS_EXCEPTION messageAsString:@"IdleTimer not disabled"];
}
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}
@end
电源管理.js
/*
* Copyright (C) 2011-2012 Wolfgang Koller
*
* This file is part of GOFG Sports Computer - http://www.gofg.at/.
*
* GOFG Sports Computer is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* GOFG Sports Computer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GOFG Sports Computer. If not, see <http://www.gnu.org/licenses/>.
*/
cordova.define("cordova/plugin/powermanagement", function(require, exports, module) {
var exec = require('cordova/exec');
var PowerManagement = function() {};
/**
* Acquire a new wake-lock (keep device awake)
*
* @param successCallback function to be called when the wake-lock was acquired successfully
* @param errorCallback function to be called when there was a problem with acquiring the wake-lock
*/
PowerManagement.prototype.acquire = function(successCallback,failureCallback) {
exec(successCallback, failureCallback, 'PowerManagement', 'acquire', []);
}
/**
* Release the wake-lock
*
* @param successCallback function to be called when the wake-lock was released successfully
* @param errorCallback function to be called when there was a problem while releasing the wake-lock
*/
PowerManagement.prototype.release = function(successCallback,failureCallback) {
exec(successCallback, failureCallback, 'PowerManagement', 'release', []);
}
var powermanagement = new PowerManagement();
module.exports = powermanagement;
});