問題タブ [wakelock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android-ウェイクロックが正しく取得されない、アプリはスタンバイで実行し続ける必要があります
私のアプリでは、メインアクティビティのonCreate()メソッドで、ウェイクロックを作成しています。これにより、電話がスタンバイ状態になった場合や画面がオフになった場合でもCPUが実行され続けます。
また、onCreateメソッドでは、加速度計を使用するサービスを作成するつもりです。このサービスは、アプリが開いていて加速度計の値を監視している間、継続的に実行する必要があります(これはバッテリーには適していないことはわかっていますが、それを行うために必要です)。これが現時点での私のコードで、サービスは正常に開始されます。
マニフェストに次の権限が設定されています-
私はさまざまなロックでこれを試しました-薄暗い画面と完全な明るさも役に立ちません。logcatの私の出力はここにあります-
このリンクのグーグルスタンバイエラーページのように、部分的なウェイクロックが期待どおりに機能しないと言う人を見たことがありますが、これは昨年リリースされて閉じられたので、その場合はわかりませんが、誰かがここで助けてくれますか?その最後の点に関してもHTCの欲求があります、ありがとう。
android - スリープ中に Wi-Fi データを許可し、デバイスを起動する
私は検索しましたが、この質問に対する答えを見つけることができませんでした。私は常に実行されるアプリに取り組んでいます。Wi-Fi を使用していますが、デバイスがスリープ状態になるまですべて正常に動作します。1 つのデバイスがマルチキャスト パケットを送信し、もう 1 つのデバイスがそれらを取得して起動する必要がありますが、そうではありません。現在、ネットワーク スレッドはStartService()
、メイン クラスから開始されたサービス スレッドから開始されています。このサービスでは、wifi ロックと wifi マルチキャスト ロックを取得して、デバイスがスリープ状態のときに wifi とマルチキャストがオンのままになるようにします。また、ミックスに部分的なウェイクロックを追加しようとしましたが、まだ何も機能しません。何か案は?私は現在、アンドロイド 2.3.3 を実行している 2 つのネクサスで開発しています。
android - ダウンロード スレッドでの PARTIAL_WAKE_LOCK と SCREEN_DIM_WAKE_LOCK の比較
場合によっては大きなファイルをダウンロードするダウンロード スレッドを生成するサービスがあります。電話がスリープ状態になるとすぐに、ダウンロード スレッドが大幅に遅くなり、停止することに気付きました。
明白な救済策、ウェイクロック。したがって、CPUがダウンロードを処理し続けるためだけに、partial_wake_lockを取得しても問題ないと思います。ただし、それは機能しません。同じ動作で、ダウンロードが遅くなり、画面がオフになると停止します。
次に、screen_dim_wake_lock を試しました。今回は、画面が点灯したまま (淡色表示) になり、ダウンロードが完了するまでフルスピードで実行され、ウェイクロックが解除され、電話がスリープ状態になりました。
私の質問は、partial_wake_lock を保持しているときに、screen_dim_wake_lock 中と同じようにスレッドを実行し続けることができないのはなぜですか? これら2つの違いについて、文書化されていない動作はありますか? おそらくUIスレッドで実行していないからですか?
編集:
Wi-Fiロックを追加しました。Wi-Fi はスリープ状態になりませんが、私のスレッドはまだ死んでいます。他のプロセスがシステムをウェイクアップすると、ダウンロードは通常の速度で続行され、その後再び遅くなります。電話を起動すると、通常の速度で続行し、画面が消えると再び速度が低下します. スレッドがシステムによってバックグラウンドにプッシュされているようです。それを防げるかどうかだと思います。
android - Android - ハードスリープから電話を起こして写真を撮るにはどうすればよいですか?
Android デバイスのカメラから数時間にわたって定期的に写真を撮り、タイム ラプス ビデオ効果を作成したいと考えています。
数分ごとにサービスを開始するように AlarmManager.RTC_WAKEUP フラグを設定して、Alarm Manager を設定しました。
このサービスは、部分的なウェイクロックを保持し、いくつかの作業を行った後、アクティビティを開始するアラーム マネージャーを介してブロードキャスト レシーバーを呼び出します。
アクティビティが作成 (または再開) され、独自のウェイクロックがオンになり、カメラ プレビュー サーフェスが設定されます。サーフェスがセットアップされると、SurfaceHolder リスナーの surfaceChanged() メソッドが呼び出され、最終的に写真が撮影されます。
デバイスが起動している場合、すべてが期待どおりに完全に機能します。ただし、デバイスがスリープ状態の場合、Activity の onResume() メソッドが完了すると、Activity は即座に一時停止します。カメラのプレビュー サーフェイスの初期化が完了することはなく、写真が撮影されることもありません。
だから私が持っている質問は次のとおりです。
プログラムで電話をウェイクアップする方法はありますか? 私も使ってみます:
/li>
ただし、電話がスリープ状態の場合、それは電話を目覚めさせません。
プレビュー サーフェス ビューを使用せずに写真を撮る方法はありますか?
非同期コールバックに依存しない写真を撮る方法はありますか? 写真を撮るためにすべてのコードをアクティビティの onResume() メソッドに入れることはできますか?
カメラのプレビューがすべてのリスナーを初期化して呼び出すのに十分な時間を確保できるように、アクティビティの onResume() メソッドを十分長く実行し続ける方法はありますか?
ウェイクロックを正しく使用しており、マニフェスト ファイルですべての権限を適切に設定しています。非同期リスナーが適切に機能するのに十分な時間、アクティビティが起動していません。
さらに問題を複雑にしているのは、すべての Android 1.6 との互換性を維持しようとしていることです。これは、私がアクセスできる唯一のテスト デバイスだからです。
これはイライラするものです!
android - ウェイクロックAndroidサービスの繰り返し
定期的にビープ音を鳴らすサービス(バックグラウンド)を実行する必要があるこのアプリケーションがあります。電話は、1分ごとに5秒間、1日中ビープ音を鳴らす必要があります(サービスでハンドラーを使用)。これを完璧に行うこのサービスを実装しましたが、電話がディープスリープモードになると、このハンドラーの実行が停止します。SOの質問からのこの回答を使用して、私はなんとかウェイクロックを使用することができました、そしてそれはうまく働きます。しかし、電話を明示的にディープスリープモードにすると、ハンドラーは実行を停止します。ウェイクロックをサービスのどこに配置しますか。以下のコードスニペット。
android - AlarmManagerとWakeLock
アクティビティでアラームマネージャーを使用したい。このようなメインアクティビティのonPauseメソッドにアラームを設定しました。
namaz_vakti_activityが私の主な活動です。onPauseメソッドとonResumeメソッドはそれに属します。
また、onResumeメソッドでwakelockを使用して、スリープモードが発生しないようにします。
コードの主な目的は、特定の時間にメインアクティビティ(namaz_vakti_activitiy)を再開することです。デバイスがスリープモードでない場合、コードは正常に機能します。ただし、スリープモードの場合はエラーが発生し、動作を停止します。解決策は単純だと思います。私はコードがわかりにくいです。
android - 長寿命の HttpConnection を備えた Android サービス
接続が長いコメットサーバー。私はサービスでこの仕事をします。しかし、Android デバイスがアイドル モードになると、サービスから開始したスレッドは動作を停止し、接続を閉じたり、新しい接続を試行したりしません。
このようなものに使用する必要がある方法はありますか。
android - スリープ状態の Android デバイスを起動できるイベントは何ですか?
HTTPロングポーリング(Comet)を使用してサーバーからプッシュ通知を受信し続けるAndroidクライアントアプリを作成しています。
バッテリーを消耗するため、常に WakeLock を保持したくはありませんが、デバイスがスリープ モードの場合でも通知を受信できるようにする必要があります。
そして、私はこの質問を見つけました:
Android: Android デバイスの睡眠段階/レベル?
ここで、「CommonsWare」は、非 WiFi ソケットで着信パケットがデバイスをウェイクアップすると述べています。
したがって、私のソリューションは次のようになります。
しかし、通知を受け取ってからウェイクロックを要求するまでには少し時間がかかるので、私の質問は、デバイスがこのスリープ状態をどのくらい維持するかということです。この時間帯にデバイスをスリープ状態に戻すことはできますか?
android - BroadcastReceiver、Service、Wakelock
放送受信機でインテントを受信してから、サービスを開始してさらに作業を行います。デバイスがスリープ状態でこれが発生した場合、Wakelock(AlarmManger?)を取得する必要がありますか?また、なぜそれが必要なのですか?デバイスがウェイクロックを取得せずにスリープ状態になると、サービスの実行が停止しますか?
android - Androidシステムがサービス中のサーバーソケットを強制終了します
Androidでサーバーを作成し、PCに接続するクライアントを作成するためのサンプルアプリを作成しています。サーバーソケットをサービスのスレッドに入れました。画面が消えてから数分後まで、すべてが完璧に進みます。これはAndroidがサーバーを強制終了する可能性があり、コードに完全なウェイクロックを設定しようとしましたが、それ以上強制終了しませんが、通常どおり画面をオフにします。これが私のコードです: