- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发一个需要同时使用 wifiLock 和 wakeLock 的应用程序,这样屏幕关闭时的音频流就不会受到干扰。我已经在 Android 2.3 和 wakeLock 上尝试了我的应用程序,看起来 wifiLock 可以按预期工作,因此屏幕打开或关闭之间没有区别,但屏幕关闭时 Android 4.2(Jelly-bean)上的相同应用程序不是工作正常,音频变得不稳定,这表明 wakeLock 或 wifiLock 无法正常工作。这有什么原因吗?
以下是我获取和释放锁的方式,在我的主要 Activity 中:
@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();
}
最佳答案
我只是偶然发现了这个问题——对于 OP 来说可能晚了几年,但为了以防万一它能帮助别人,你可能需要使用 WIFI_MODE_FULL_HIGH_PERF
而不是 WIFI_MODE_FULL
,因为这会导致流媒体问题:
wifiLock = wm.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF , "MyWifiLock");
我可能会考虑在 Service
而不是 Activity
中流式传输音频,尤其是当您设计它的想法似乎是在背景。
关于android - wifiLock 和 wakeLock 在 Android 上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14911700/
当我启动服务时,每隔几秒我就会获取一些数据发送到服务器 唤醒锁 PowerManager powerManager = (PowerManager) getSystemService(POWER_SE
如果有一个 wifiLock 用于获取 wifi 并使其即使在手机空闲和休眠时也能工作,那么是否恰好有一个用于移动数据访问的对应物? 你看,如果用户在 wifi 连接中,现在一切正常。但不知何故,使用
我已经在 SO 上阅读了大量关于使用 WakeLock 和 WifiLock 的教程和帖子,但仍然没有解决我的问题。 我正在编写一个应用程序,当您启动它时,它的唯一作用是创建和启动(前台)服务。该服务
我正在尝试阻止 wifi 连接。我希望我的应用程序打开 wifi,但不连接到已存储在智能手机上的任何网络。但即使在我使用 SCAN_ONLY 模式后,他仍会继续连接到已经“知道”的网络。 ..
我尝试在连接到接入点后锁定 WiFi,但设备在 2 到 3 分钟后切换到另一个网络。这就是我正在尝试做的事情。 private static final String TAG = Bu
只要有 Wifi 连接,我就有一个运行的前台服务。在服务期间,它持有一个 WifiLock。一切正常,直到我关闭屏幕并等待大约 15 分钟。我持有的套接字然后抛出连接超时异常,因为 Wifi 断开连接
我正在开发一个需要同时使用 wifiLock 和 wakeLock 的应用程序,这样屏幕关闭时的音频流就不会受到干扰。我已经在 Android 2.3 和 wakeLock 上尝试了我的应用程序,看起
我的音频流应用程序仅使用 WifiLock 即可正常工作。 但是一些设备报告说当他们关闭屏幕时,连接被切断并且音频流被置顶。 (他们说这不会发生在 3G 上) 所以,我想也许我也可以使用部分唤醒锁。我
我是一名优秀的程序员,十分优秀!