Added WP8 support
This commit is contained in:
parent
ca36c231f4
commit
79a1327776
@ -31,7 +31,7 @@ cordova plugin rm de.appplant.cordova.plugin.background-mode
|
|||||||
## Using the plugin
|
## Using the plugin
|
||||||
Simply add the plugin to your project and the app will run while in background.
|
Simply add the plugin to your project and the app will run while in background.
|
||||||
|
|
||||||
The plugin creates the object ```window.plugin.notification.backgroundMode``` with two methods:
|
The plugin creates the object ```window.plugin.backgroundMode``` with two methods:
|
||||||
|
|
||||||
### enable()
|
### enable()
|
||||||
The method enables the background mode. The mode is activated once the app has entered the background and will be deactivated after the app has entered the foreground.<br>
|
The method enables the background mode. The mode is activated once the app has entered the background and will be deactivated after the app has entered the foreground.<br>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
|
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
|
||||||
id="de.appplant.cordova.plugin.background-mode"
|
id="de.appplant.cordova.plugin.background-mode"
|
||||||
version="0.2.1">
|
version="0.4.0dev">
|
||||||
|
|
||||||
<name>BackgroundMode</name>
|
<name>BackgroundMode</name>
|
||||||
|
|
||||||
|
@ -7,21 +7,107 @@
|
|||||||
* GPL v2 licensed
|
* GPL v2 licensed
|
||||||
*/
|
*/
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Linq;
|
|
||||||
|
|
||||||
using Microsoft.Phone.Shell;
|
|
||||||
|
|
||||||
using WPCordovaClassLib.Cordova;
|
|
||||||
using WPCordovaClassLib.Cordova.Commands;
|
using WPCordovaClassLib.Cordova.Commands;
|
||||||
|
using Windows.Devices.Geolocation;
|
||||||
|
|
||||||
namespace APPPlant.Cordova.Plugin
|
namespace Cordova.Extension.Commands
|
||||||
{
|
{
|
||||||
|
/// </summary>
|
||||||
|
/// Ermöglicht, dass eine Anwendung im Hintergrund läuft ohne pausiert zu werden
|
||||||
|
/// </summary>
|
||||||
public class BackgroundMode : BaseCommand
|
public class BackgroundMode : BaseCommand
|
||||||
{
|
{
|
||||||
|
/// </summary>
|
||||||
|
/// Flag gibt an, ob die App im Hintergrund wach gehalten werden soll
|
||||||
|
/// </summary>
|
||||||
|
private static bool isEnabled = true;
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// Lokalisiert das Smartphone
|
||||||
|
/// </summary>
|
||||||
|
private static Geolocator Geolocator { get; set; }
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// Registriert die Listener für die (sleep/resume) Events und startet
|
||||||
|
/// bzw. stoppt die Geo-Lokalisierung
|
||||||
|
/// </summary>
|
||||||
public BackgroundMode ()
|
public BackgroundMode ()
|
||||||
{
|
{
|
||||||
|
Activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// @js-interface
|
||||||
|
/// Setzt den Flag, dass die App im Hintergrund wach gehalten werden soll
|
||||||
|
/// </summary>
|
||||||
|
public void enable (string args)
|
||||||
|
{
|
||||||
|
Enable();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// @js-interface
|
||||||
|
/// Entfernt den Flag, sodass die App im Hintergrund pausiert wird
|
||||||
|
/// </summary>
|
||||||
|
public void disable (string args)
|
||||||
|
{
|
||||||
|
Disable();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// Setzt den Flag, dass die App im Hintergrund wach gehalten werden soll
|
||||||
|
/// </summary>
|
||||||
|
public static void Enable ()
|
||||||
|
{
|
||||||
|
isEnabled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// Entfernt den Flag, sodass die App im Hintergrund pausiert wird
|
||||||
|
/// </summary>
|
||||||
|
public static void Disable ()
|
||||||
|
{
|
||||||
|
isEnabled = false;
|
||||||
|
|
||||||
|
Deactivate();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// @js-interface
|
||||||
|
/// Registriert die Listener für die (sleep/resume) Events
|
||||||
|
/// </summary>
|
||||||
|
public void observeLifeCycle (string args)
|
||||||
|
{
|
||||||
|
// Konstruktor wird aufgerufen, falls Instanz erstellt wurde
|
||||||
|
}
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// Startet das Aktualisieren des Standpunktes
|
||||||
|
/// </summary>
|
||||||
|
public static void Activate ()
|
||||||
|
{
|
||||||
|
if (Geolocator == null && isEnabled)
|
||||||
|
{
|
||||||
|
Geolocator = new Geolocator();
|
||||||
|
|
||||||
|
Geolocator.DesiredAccuracy = PositionAccuracy.Default;
|
||||||
|
Geolocator.MovementThreshold = 100000;
|
||||||
|
Geolocator.PositionChanged += geolocator_PositionChanged;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// </summary>
|
||||||
|
/// Beendet das Aktualisieren des Standpunktes
|
||||||
|
/// </summary>
|
||||||
|
public static void Deactivate ()
|
||||||
|
{
|
||||||
|
if (Geolocator != null)
|
||||||
|
{
|
||||||
|
Geolocator.PositionChanged -= geolocator_PositionChanged;
|
||||||
|
Geolocator = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void geolocator_PositionChanged (Geolocator sender, PositionChangedEventArgs args) {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user