1

私はWindowsPhoneアプリケーションを開発しましたが、開いていてアクティブに実行されている場合は正常に動作します。マップ上のユーザーの動きを追跡し、押しピンで位置の動きを示します。

ここで、このアプリを開いたときに電話がロックされていても、同じアプリケーションが実行されるようにします。ロック画面で動作するように以下のコードを追加しました。この後、アプリを確認したところ、アプリケーションがロックされているとアプリが実行されていないことに気付きました。

この作業をロック画面で行うために必要な他の変更はありますか?助けていただければ幸いです。

private void initiliazesettings()
{
    PhoneApplicationService.Current.UserIdleDetectionMode = 
       IdleDetectionMode.Disabled;
}
4

3 に答える 3

5

Windows Phone 7.0/7.1/8.0 のロック画面でアプリを実行するには、UserIdleDetectionMode ではなく、ApplicationIdleDetectionMode を設定する必要があります。詳細はこちらをご覧ください。

于 2013-01-16T18:46:32.623 に答える
1

メソッドを適切な場所に配置したと仮定すると、そのコードは画面をオンに保つだけで、ロック画面がアクティブ化されたときにアプリをバックグラウンドで実行しません。Windows Phone 7 アプリはバックグラウンドで実行できず、廃棄されます。

于 2013-01-16T17:20:27.417 に答える
1

Windows Phone 8 の場合、これは可能です。MSDN のサンプルを参照してください。

ただし、Windows Phone 7/7.1 ではこれを行うことはできません。

ユーザーが画面を操作していないために画面がロックされるのを防ぐことができます (コードが示すように)。ただし、画面を手動でロックすると、アプリは引き続き休止状態または廃棄状態になり、ロケーション コードは実行されません。

他の唯一のオプションは、スケジュールされたバックグラウンド タスクを使用して電話の場所を読み取ることですが、これはリアルタイム データとはかけ離れていることに注意してください (これはキャッシュされた場所であり、最良のシナリオでは 30 分ごとに 1 回だけ実行します)。 )。

于 2013-01-16T17:22:18.723 に答える