1

これが問題です。私は Ice Cream Sandwich を搭載した Android デバイスで作業しており、Wifi でコンピューターから ping を実行したときにデバイスをウェイクアップしたいと考えています。

次のコードを使用してデバイスを起動しようとしていますが、うまくいかないようです。

WakeLock lock = ((PowerManager) getSystemService(POWER_SERVICE)).newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK
            | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG");
lock.acquire();

KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
  requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN |
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
            WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON,
            WindowManager.LayoutParams.FLAG_FULLSCREEN |
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
            WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
lock.release();

デバイスをウェイクアップするサービスを使用していますが、機能していないようです。

4

1 に答える 1

2

android.net.wifi.STATE_CHANGE ブロードキャスト イベントを使用できます。これを実現するには、マニフェスト ファイル内にブロードキャストを登録する必要があります。

これはあなたを助けるかもしれません。 http://www.grokkingandroid.com/android-tutorial-broadcastreceiver/

于 2012-10-02T08:51:03.527 に答える