現在、私のアプリは音楽をストリーミングする必要があります。私は Web サーバーを使用していますが、電話が起動しているか、電源に接続されていれば、すべてが機能します。
しかし、電話がスリープ状態になるまでストリーミングを続ける必要があります。電話を起動したままにするために、PowerManager PowerManager.WakeLock を使用しています。
これは私のコードの一部です:
pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
wl.setReferenceCounted(true);
その後wl.acquire();
、リリースがあります。曲のストリーミングが停止してから 5 分後にリリースするハンドラーがあります。
int timeToWait = 300000;
turnOffDevice.sendEmptyMessageDelayed(0, timeToWait);
しかし、それはしばらくの間機能し、その後曲がジャンプし始め、ほとんどの場合曲が停止します。