問題タブ [android-wake-lock]
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:スマートフォンのスリープ解除とロック解除
私はサービスで電話を起こし、ロックを解除する方法を見つけようとしています。私はこの投稿を参照していますが、なぜそれが機能しないのか理解できません。これは私がこれまでに持っているコードです:
マニフェストにもコードを追加しました。何か案は?
android - サービス開始時の AlarmManager のウェイクロック
Android のAlarmManager Javadoc 状態
When an alarm goes off, the Intent that had been registered for it is broadcast by the system,
AlarmService
Android で提供される API デモには (パッケージ com.example.android.apis.app) があり、使用中の AlarmService を示しています。
その中には次のものがあります(明確にするために編集されています):
したがって、この例では、 Javadoc が決して言及していないPendingIntent mAlarmSender = PendingIntent.getBroadcast(...);
代わりにa を実行しません。getService
これについて質問している理由は、CPU ウェイクロックの影響によるものです。Javadoc によると、ブロードキャスト レシーバーが戻ると、AlarmManger のウェイク ロックが解放されonReceive()
ます。
私が疑問に思っているのは、例のようにアラームを使用した場合、ウェイクロックの意味は何ですか? Javadoc はこれに対処していないようです。どちらかといえば、アラームを設定するときにブロードキャスト技術を使用する必要があることを暗示しているようです.
android - AlarmManager は Wifi を起動したままにしますか、それとも wakeLock が必要ですか?
AlarmManger を使用してキープアライブ タイマーをリモート サーバーにスケジュールするため、間隔ごとに UDP パッケージがサーバーに送信されます。AlarmManager コンテキストで送信または実行されているパッケージが十分な場合、Wifi/CPU ロックを取得する必要がありますか? 注: アプリケーションをバックグラウンドに保つサービスを実行しています。
android - Androidの1つのOnClick関数で電源オフと電源オンをプログラミングする
ボタンをクリックすると画面がオフになり、2 秒後に再びオンになるアクティビティを書きたいと思います。画面の電源を切るために、次のコードを使用してみました。
ただし、onClick関数が戻ったときにのみ有効になります。ハンドラーに実行しようとしましたが、成功しませんでした。同じ onClick 呼び出しで 2 秒後に電源オン関数を呼び出せるように、関数が戻る前に設定を強制的に適用する方法を見つける必要があります。
また、後でデバイスをウェイクアップするのが非常に難しいこともわかりました。このコードは、物理ボタンを使用して画面の電源をオフにすると機能しますが、前述の手法を使用して電話の電源をオフにすると機能しないようです。
よろしくお願いします。
android - Androidデバイスのスリープの問題
デバイスがスリープしていないオプションを設定すると、少し問題が発生します。Webサーバーに接続してデータをダウンロードしていますが、これを行うときは、デバイスをスリープ状態にしないでおく必要があります。私はこれをこのように使用しています:
1. Webサーバーへの接続を開始するときの同期クラスで、次のように設定します。
とonDestroy()
私が設定したこのアクティビティのメソッド:
しかし、この後、アプリケーションを閉じてもデバイスがスリープしていないようです。私が間違っていることはありますか?前もって感謝します!
android - Wi-Fi ロックが機能しない、Wi-Fi パワーセーブを防ぐ方法は?
電話をウェブカメラに変換し、電話接続を使用して画像をインターネット Web スペースに送信するアプリを作成しました。
5 分または 15 分ごとにサービスを実行するようにアラーム マネージャーを設定する広告アクティビティを使用しています。サービスの実行全体を実行するためにウェイクロックを行いますが、サービスが終了するとドロップされます。
これはすべて、モバイル接続では完璧に機能しますが、wifi では同じようには機能しません。
Wi-Fiオプションで、Wi-Fiスリープのポリシー「NEVER」を設定しました。しかし、しばらくすると (常に同じとは限りません)、電話機が省電力モードになったように見えます: Wi-Fi アイコンはステータス バーにまだ表示されていますが、電話機は接続できません。ブラウザを使用していても...切断して手動で再接続する必要があります。logcat のメッセージ:notify conn break (IOEx), close connection
電話が電源に接続されていても!!!
なぜ?(1)
ウェイクロックで常に実行されているサービスを開始するアクティビティによって形成された別のアプリで実験を行います。そのため、接続を確実にするためにwifiロックを追加しましたが、この方法も実行される場合と実行されない場合があります。いつも同じnotify conn break (IOEx), close connection
なんで?(2)
最後の実験は、最初のアプリ (アラーム マネージャー) から派生したもので、Wi-Fi がスリープ/省電力モードにならないようにするため (魔女 1 ??)、コードの実行後に電話を機内モードにしました。サイクルが始まると、オフ(接続オン)になります。これは 2 日間は問題なく動作しますが、ときどき動作する場合があります (5 分ごとではなく 1 時間または 2 時間ごと、または 1 日中動作せず、理由もなく再起動することもあります..)。では、機内モードで以前の Wi-Fi 接続が再確立されないことがあるのはなぜでしょうか? (また、そうする場合もありますか?)(3)
電話は、オリジナルの 2.2 を搭載した Samsung Galaxy ACE であり、常に充電に接続されています。
android - WakeLock が解除されず、画面がオフにならない
アラーム マネージャーを使用してアクティビティを呼び出し、ウェイク ロッカー クラスonRecive() を使用して電話をスリープ解除し、アクティビティが終了した後に WakeLocker.release() を呼び出していますが、画面はオンのままです...
受信クラス:
Activity.class
私はそれを onPause() 、 onStop() のどこにでも入れました...物は解放されず、アプリを閉じた後に画面が自動的にオフになりません...
android - Android アプリの寿命: たぶん無限?
Androidフォンをユーザーの操作なしで実行されるリモートデバイスに変換するように設計されたアプリを開発しています. アプリは、X分ごとにサービス(プロジェクト内のクラス)を実行するようにAlarmManagerを設定するActivityによって作成されます。
これはすべて問題なく動作しますが、5 ~ 6 日連続して実行すると、アプリケーションがクラッシュすることがあります (現在、電話を取得できないため、理由はわかりません)。これは接続の問題ではなく (わかっています)、電話はまだ動作しています (AC に接続されています)。私が推測できる唯一のことは、アプリケーションがダウンしていることです。
prew デバッグではエラーが発生しないため、これはバグによるものではないと思います。
したがって、Android がアクティビティを強制終了したと仮定する必要があります (システムにはより多くのメモリが必要ですか?)。画像が説明しているように、それをバックアップする方法はありません。
しかし、疑問があります。私のアプリケーションでは、すべての作業がサービスによって行われるため、アクティビティは重要ではありません。サービス自体は Alarm Manager によって呼び出され、2 つの呼び出しの間で、サービスは StopSelf() によって終了されます。
私の場合、システムがアラーム マネージャ サービス スケジュールを強制終了する可能性がありますか?
Alarm Manager によってサービスを永久に起動するにはどうすればよいですか?
(注意: 現在 WAKE LOCK はまだありますが、これはサービスの実行のみを考慮しています!サービスがアラーム マネージャによって x 分ごとに呼び出され、終了されることを理解していただければ幸いです...この操作を実行したいのは不定時間)
【ソースコードが長いので掲載していません】
android - Alarm Manager の動作とウェイクロックに関する質問
サービスでアラーム マネージャーを使用して、特定のタスクを実行するために 15 秒ごとに非覚醒アラームを設定しています。タスクはタイムクリティカルではないため、電話を起こしたくないので、 ELAPSED_REALTIME フラグを使用してアラームを設定しています。コードは次のとおりです。
ログで気付いたのは、タスクが 15 秒ごとに実行されていることです。これは、画面が 30 分間オフになっていても、電話が起動しているということですか? 私のアプリケーションが電話を起動していないことを確認する方法はありますか?
このトピックについて検索しましたが、適切な答えが見つかりません。
ご協力いただきありがとうございます。
android - onStop がユーザー インタラクションまたは画面の調光から呼び出されているかどうかを確認します
ホームボタンを押すか、戻るボタンを使用するか、単に別のアプリを開くことで、ユーザーがアプリを閉じるたびに再生を停止するメディアプレーヤーがあります。この動作を取得するためonStop()
に、メイン アクティビティに、MediaPlayer
(サービス内にある) 音楽の再生を停止するように指示する を追加しました。
ただし、電源ボタンを使用して画面をオフにするか、画面の自動調光だけで、画面が暗くなるたびに音楽を再生し続けたいと思います。
現在、プレーヤーは画面が暗くなると再生も停止します。つまり、そのときに onStop() メソッドも呼び出されます。
画面の調光によって onStop() が呼び出されるかどうかを確認するにはどうすればよいですか?
私はすでにオブジェクトに を適用しPARTIAL_WAKELOCK
ました。MediaPlayer
私の知る限りでは、これにより、画面がオフになった後もプレイヤーが走り続けることができるはずです。
メイン アクティビティにも部分的なウェイクロックを追加する必要がありますか?
PARTIAL_WAKELOCK
メイン アクティビティとメディア プレーヤーの両方にa を適用しました。現在、画面が自動的にオフになることはなくなり、ユーザーが電源ボタンを押しても音楽は停止します。
明らかに、これは私が思ったようには機能しません。
私が探している動作を達成する方法はありますか?