4

CE ベースの Windows Mobile では、次のようにSetPowerRequirementおよびReleasePowerRequirement API を使用して、画面のバックライトがタイムアウトするのを防ぐことができます。

IntPtr handle = SetPowerRequirement("BKL1:", PowerState.FULL, 1, IntPtr.Zero, 0);
// screen won't timeout while you do stuff in here
ReleasePowerREquirement(handle);

WP7でも同様のことが可能ですか?

4

1 に答える 1

11

はい、可能です。を使用PhoneApplicationService.Current.UserIdleDetectionModeして、画面のバックライトのタイムアウトを停止し、画面のロックを停止できます。

を使用PhoneApplicationService.Current.ApplicationIdleDetectionModeして、アプリケーションをロック画面で実行し続けることもできます。

これら 2 つのオプションの詳細を次に示します。

ユーザーアイドル検出モード

これを無効にすると、画面がタイムアウトしてロックされなくなります。例として、大きなファイルのダウンロード中に UserIdleDetectionMode を無効にして、アプリがダウンロードを途中で強制終了しないようにします。

ダウンロードが完了したら、UserIdleDetectionMode を再度有効にして、画面が通常どおりタイムアウトできるようにします。

ApplicationIdleDetectionMode

注意:これは 1 回限りのヒットです。無効にすることはできますが、再度有効にすることはできません。

ApplicationIdleDetectionMode を無効にすると、画面がロックされてもアプリは引き続き実行されます。ユーザーが別のアプリを起動すると、アプリは停止します。

認定要件では、ApplicationIdleDetectionMode を初めて無効にするときに、ユーザーにプロンプ​​トを表示するよう求めています。例: 「このアプリはロックされた画面でも引き続き実行されるため、バッテリーが消耗する可能性があります。よろしいですか?」そうしないと、アプリは拒否されます。

于 2010-10-13T02:07:50.540 に答える