問題タブ [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.

0 投票する
1 に答える
3459 参照

android - WakefulIntentService の実装

CommonsWare の例を使用して WakefulIntentService を実装しようとしています。Location を WakefulIntentService のサブクラスに渡す必要がありますが、それができませんでした。

以下を使用して sendWakefulWork を呼び出します。

WakefulIntentService クラスには、次のメソッドがあります。

そして最後に、ProtocolController クラス:

0 投票する
6 に答える
11875 参照

android - WakeLockを使用してストリームを再生し続ける

URLからオーディオを再生する(ストリーミング)サービスでMediaPlayerを実行しています。今のところうまく機能しているようで、電話をスタンバイ状態にしても再生を続けます。

現在、ウェイクロックを取得していません。私の質問は:

  • 私の状況では、実際にウェイクロックを取得する必要がありますか?
  • 必要な場合、どのタイプのウェイクロックを取得する必要がありますか?

はい、これはwakelockの正当な使用例です。これは、ユーザーが明示的にオーディオの再生を継続することを望んでいるためです。

0 投票する
3 に答える
7567 参照

android - アプリがユーザーにプロンプ​​トを表示したら、デバイスをスリープ解除します

私はハンドラーを使用して、たとえば5分ごとにユーザーに入力を繰り返し求めています。デバイスがスリープモードになり、画面がロックされている場合、アプリがユーザーに入力を求めたときにデバイスをスリープ解除するにはどうすればよいですか?私はこれを試しましたが、うまくいかないようです。WAKE_LOCKマニフェストに権限を追加しました。

何か案は?

編集:AlarmManagerカスタムインテントをブロードキャストするために使用します。

0 投票する
3 に答える
4433 参照

android - NotificationManager.notify() が SecurityException で失敗する

Android 2.2 で許可がNotificationManager.notify()必要になるのはいつですか?WAKE_LOCK

あるユーザーから次のスタック トレースを受け取りました。

更新Scala でコードを呼び出す:

0 投票する
5 に答える
58222 参照

android - Androidで画面をオフにする

特定のアクションが発生した後、ディスプレイのオンとオフを切り替えようとしています(今のところ画面をオフにすることを心配しましょう)。ウェイクロックから私が理解していることから、これは私が持っているものです:

stackoverflowやその他の場所に関する他の投稿を読んだとき、PARTIAL_WAKE_LOCKによって画面がオフになると言われているようです。しかし、SDKを読むと、画面をオフにすることしかできないと書かれています。これは正しくないと思います。

0 投票する
2 に答える
3527 参照

android - スリープモードでwifiネットワーク信号を確認します

私の目的は、Wi-Fiネットワークの変更をスキャンできるようにすることです(主に、使用可能なネットワークを確認するため)。私が受信者を登録することによってそれをしていることを正しく知っています:

私のはどこWifiReceiverですかBroadcastReceiver

問題は、電話がオンになっているときにのみ機能することです。スリープモードになると(電源ボタンを押すか、しばらくすると)、受信機は受信を停止します。メインクラスのonCreateでウェイクロックを取得し、onDestroyでリリースしました(これは部分的なウェイクロックです)。さらに、私はこれを試しました:

Wi-Fiがスリープ状態にならないようにします。残念ながら、それは役に立ちませんでした。

電話がスリープ状態の場合でも、ネットワークの変更をスキャンする可能性はありますか?どのネットワークが範囲内にあるかを(SSIDで)確認できるようにしたい。多分私は別のアクションを使用する必要がありますか?

あなたの助けに感謝。

0 投票する
1 に答える
1524 参照

android - サービスおよびウェイクロックポリシー

AlarmManagerドキュメントで述べられているように:

http://developer.android.com/reference/android/app/AlarmManager.html#RTC_WAKEUP

これは、onReceive()メソッドが完了するとすぐに電話がスリープする場合があることを意味します。アラームレシーバーがContext.startService()を呼び出した場合、要求されたサービスが起動される前に電話がスリープする可能性があります。これを防ぐために、BroadcastReceiverとServiceは、サービスが利用可能になるまで電話が実行され続けることを保証するために、個別のウェイクロックポリシーを実装する必要があります。

私がここで見たり読んだりしたことから: http ://www.androidguys.com/2009/04/02/wake-up-with-the-alarm/ https://github.com/commonsguy/cw-advandroid/ blob / master / SystemServices / Alarm / src / com / commonsware / android / syssvc / alarm / WakefulIntentService.java

その人たちは、サービスが利用可能になるまでだけでなく、サービスを通じてウェイクロックを保持します。だから私の質問は、サービスを介して実行されているウェイクポリシーがない場合、サービスはCPUをスリープさせることができますか?

0 投票する
3 に答える
1555 参照

android - Android:ウェイクロック:アプリケーションでロックが解除されますか?

私はウェイクロックを使わなければなりません(そうです、明白な理由で使うべきではありませんが、私はそれをするために支払われているので、選択の余地はありません笑)

私の質問は非常に単純です。アプリをonPauseまたはonStopのままにすると、アプリのウェイクロックは自動的に解放されますか?

ユーザーがアプリを閉じても、なんらかの奇妙な理由でウェイクロックがまだオンになっているのを避けたいと思います。

現在のシステムで問題が発生しており、アプリがメッセージハンドラーを介してリリースウェイクロックを呼び出しています(別のスレッドからのものであるため)。これは「遅すぎる」ために発生し、アプリにはもう存在しないためにクラッシュします。ウェイクロックへの参照。

私はあまり明確ではないかもしれませんが、ここでの主な質問は:

アプリのライフサイクル外で電話に影響を与えるアプリのウェイクロックについて心配する必要がありますか?

乾杯

ジェイソン

0 投票する
1 に答える
2326 参照

android - スリープモードでのAndroidインターネット接続の問題?

サービスアクティビティとスレッドがあります。問題は、電話がスリープモードになり、スレッドがhttpリクエストを送信しないことです。接続されていない場合はネットワークの状態を確認し、接続しますが、「アクセス許可の拒否:安全な設定への書き込みにはandroid.permission.WRITE_SECURE_SETTINGS」エラーが発生します。しかし、私はすでにAndroidManifest.xmlにパーミッションタグを入れています。私もこれを試してみます:

しかし、それは私の問題を解決しません。電話すでにスリープモードになっています。これが私のcheckNetworkコードです:

パブリッククラスMainActivityはServiceを拡張します{....。

助けてください..

0 投票する
4 に答える
17654 参照

android - BroadcastReceiverでWakeLockを取得し、サービスで解放するための正しいパターン

多くの調査を行った後でも、aで開始するWakeLockためのaの実装方法が正しいかどうかはまだ完全にはわかりませんが、正常に機能しているように見えます。ブロードキャストレシーバーは、アラームからインテントを送信します。まず、次のAPIドキュメントからインテントを送信します。ServiceBroadcastReceiverAlarmManager

アラームレシーバーがContext.startService()を呼び出した場合、要求されたサービスが起動される前に電話がスリープする可能性があります。これを防ぐために、BroadcastReceiverとServiceは、サービスが利用可能になるまで電話が実行され続けることを保証するために、個別のウェイクロックポリシーを実装する必要があります。

だから、onReceive()私はします:

そして私がするサービスで:

このSomeService.wakeLockフィールドは、パッケージプライベート、静的、および揮発性です。

私が確信していないのは、を使用したチェックですisHeld()-それは本当にaWakeLockが取得されたかどうかを教えてくれますか、そして私はこのチェックを行う必要がありますか?