GPSを使用するcordova 2.7でiosアプリケーション(ios6)を実行しており、Iphoneの画面が常にオンになっている必要があります。電話がスリープ状態にならないようにしたい。
このプラグインhttps://github.com/phonegap/phonegap-plugins/tree/master/iOS/PowerManagementをインストールしようとしましたが、明らかに古すぎます。
どうやって?
GPSを使用するcordova 2.7でiosアプリケーション(ios6)を実行しており、Iphoneの画面が常にオンになっている必要があります。電話がスリープ状態にならないようにしたい。
このプラグインhttps://github.com/phonegap/phonegap-plugins/tree/master/iOS/PowerManagementをインストールしようとしましたが、明らかに古すぎます。
どうやって?
手を汚しても構わない場合は、Cordova プラグインを作成することで、これを簡単に修正できます。
Cordova プラグインを作成したことがない場合は、PhoneGap プラグインでまだすべての機能を利用できるわけではなく、非常に簡単に機能させることができるため、習得すべきスキルであることは間違いありません。完全な詳細はPhoneGap Plugin Development Guideにあります。
この場合、プラグインの JavaScript 側は次のようになります。
cordova.exec(function(winParam) {}, function(error) {}, "myPlugin", "preventSleep", []);
preventSleep
この場合、PhoneGapはmyPlugin
クラスで名前が付けられたメソッドを探します。
次に、preventSleep
メソッドは次のようになります
- (void)preventSleep:(CDVInvokedUrlCommand*)command
{
[UIApplication sharedApplication].idleTimerDisabled = YES;
CDVPluginResult* pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
[self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
}
allowSleep
これで、そのセットのような対応するメソッドを作成できます[UIApplication sharedApplication].idleTimerDisabled = NO;
PhoneGap Build でもサポートされている最新のプラグインは次のとおりです: https://github.com/EddyVerbruggen/Insomnia-PhoneGap-Plugin
すでにこれを見たかどうかはわかりませんが、phonegap ビルドで iOS 用のプラグインが利用できるようです。どうやら Android バージョンが間もなくリリースされるようです。