Я разрабатываю приложение, которое должно использовать как wifiLock, так и wakeLock, чтобы потоковая передача звука при выключенном экране не нарушалась. Я пробовал свое приложение на Android 2.3 и wakeLock, и похоже, что wifiLock работает так, как ожидалось, поэтому нет никакой разницы между включенным или выключенным экраном, но такое же приложение на Android 4.2 (Jelly-bean), когда экран отключается, не работает, и звук становится прерывистым, который показывает, что wakeLock или wifiLock работают некорректно. Есть ли причина для этого?wifiLock и wakeLock работают неправильно на Android
Вот как я приобретаю и освободить замки, в моей основной деятельности у меня есть:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "MyWirelessHeadphone");
WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE);
wifiLock = wm.createWifiLock(WifiManager.WIFI_MODE_FULL , "MyWifiLock");
...
}
@Override
protected void onDestroy() {
super.onDestroy();
if (wakeLock.isHeld()==true)
wakeLock.release();
if (wifiLock.isHeld()==true)
wifiLock.release();
}
WIFI_MODE_FULL_HIGH_PERF - правильный ответ, он позволяет принимать новые входящие TCP-соединения – Poppyto