mit GPS Meine Erfahrung ist, dass es eine Weile dauert, einen Fix (zumindest auf meinem Gerät) zu bekommen, so dass ich denke, das Telefon zu halten haben aus suspended state die ganze Zeit. Als ich mit meinem Gerät herumspielte, bemerkte ich, dass ich den eingebauten Musik-Player benutzen musste, um eine Reparatur zu bekommen, während der Bildschirm ausgeschaltet war. Wie ratchetr darauf hingewiesen hat, scheint PowerPolicyNotify (PPN_UNATTENDEDMODE, TRUE) der richtige Weg zu sein, um die "music player requirement" zu verhindern.
Edit: Es scheint auch wie Sie müssen SetPowerRequirement/ReleasePowerRequirement auf einigen Geräten verwenden.
Hier ist ein C# Beispiel:
public const int PPN_UNATTENDEDMODE = 0x0003;
public const int POWER_NAME = 0x00000001;
public const int POWER_FORCE = 0x00001000;
[DllImport("coredll.dll")]
public static extern bool PowerPolicyNotify(int dwMessage, bool dwData);
[DllImport("coredll.dll", SetLastError = true)]
public static extern IntPtr SetPowerRequirement(string pvDevice, CedevicePowerStateState deviceState, uint deviceFlags, string pvSystemState, ulong stateFlags);
[DllImport("coredll.dll", SetLastError = true)]
public static extern int ReleasePowerRequirement(IntPtr hPowerReq);
public enum CedevicePowerStateState : int
{
PwrDeviceUnspecified = -1,
D0 = 0,
D1,
D2,
D3,
D4,
}
//Keep the GPS and device alive:
PowerPolicyNotify(PPN_UNATTENDEDMODE, true)
IntPtr gpsPowerHandle = SetPowerRequirement("gpd0:", CedevicePowerStateState.D0, POWER_NAME | POWER_FORCE, null, 0);
//Call before exiting your app:
ReleasePowerRequirement(gpsPowerHandle);
PowerPolicyNotify(PPN_UNATTENDEDMODE, false);
die klarste Antwort über das Internet !!! es funktioniert super .. ich merkte, dass es WLAN hält. – GorillaApe