TJ1*_*TJ1 4 android wifi wakelock android-4.2-jelly-bean
我正在开发一个需要同时使用wifiLock和akeLock的应用程序,以便在屏幕关闭时不会干扰音频流。我已经在Android 2.3和akeLock上尝试了我的应用程序,并且看起来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();
}
Run Code Online (Sandbox Code Playgroud)
我只是偶然发现了这个问题-对于OP来说可能为时已晚,但是如果万一它对其他人有所帮助,则可能需要使用WIFI_MODE_FULL_HIGH_PERF而不是WIFI_MODE_FULL,因为这可能会导致流媒体问题:
wifiLock = wm.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF , "MyWifiLock");
Run Code Online (Sandbox Code Playgroud)
我可能会考虑以a Service而不是a的方式流式传输音频Activity,尤其是当您似乎在设计以后台运行为主题时。
小智 5
发布答案为时已晚,但也许它可以帮助某人。因为我遇到了同样的问题并得到了解决方案:
WifiManager wm = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
wifiLock = wm.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF , "MyWifiLock");
wifiLock.acquire();
PowerManager pm = (PowerManager) getApplicationContext().getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();
Run Code Online (Sandbox Code Playgroud)
并在 destroy 方法中释放锁:
if (wakeLock != null) {
if (wakeLock.isHeld()) {
wakeLock.release();
}
}
if (wifiLock != null) {
if (wifiLock.isHeld()) {
wifiLock.release();
}
}
Run Code Online (Sandbox Code Playgroud)
我认为在您的情况下缺少的是您没有获得锁。请参阅此链接。
小智 0
您正在获取活动中的锁,当您的活动进入堆栈时,系统可以删除并销毁您的活动,这可能是问题的原因。尝试获取服务中的锁。但是 PARTIAL 锁和 WIFI 的组合在某些设备上无法正常工作,也请参阅这个问题:Android WifiLock not working?
| 归档时间: |
|
| 查看次数: |
4642 次 |
| 最近记录: |