Пробуждение спящего Android устройства на пинг
Здесь проблема. Я работаю на устройстве Android с Ice Cream Sandwich и хочу разбудить устройство, когда я пингую его с компьютера по Wi-Fi.
Я "пытаюсь" использовать следующий фрагмент кода, чтобы разбудить устройство, но оно, похоже, не работает.
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();
Я использую сервис, чтобы разбудить устройство, но, похоже, оно не работает.
1 ответ
Решение
Вы можете использовать событие трансляции android.net.wifi.STATE_CHANGE. Для этого вам необходимо зарегистрировать трансляцию в файле манифеста.
Это может помочь вам. http://www.grokkingandroid.com/android-tutorial-broadcastreceiver/