【发布时间】:2013-02-01 10:21:18
【问题描述】:
我正在开发一个需要同时使用 wifiLock 和 wakeLock 的应用程序,这样屏幕关闭时的音频流就不会受到干扰。 我已经在Android 2.3和wakeLock上尝试了我的应用程序,看起来wifiLock按预期工作,所以屏幕打开或关闭时没有区别,但屏幕关闭时Android 4.2(Jelly-bean)上的相同应用程序不是工作正常,音频变得断断续续,这表明 wakeLock 或 wifiLock 工作不正常。这有什么原因吗?
这是我在主要活动中获取和释放锁的方式:
@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();
}
【问题讨论】:
标签: android wifi android-4.2-jelly-bean wakelock