WakeLock を使用してバックグラウンドでサービスを開始し、作業後にサービスを停止して WakeLock を解放します。しかし、正しい順番がわかりません。正常に動作しますが、常にエラーが発生します:
10-13 14:48:23.320: A/PowerManager(20951): WakeLock finalized while still held: AppService
以下は私のコードスニップセットです:
PowerManager pm = (PowerManager)getApplicationContext().getSystemService(Context.POWER_SERVICE);
WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
wl.acquire();
作業が完了したら、すべてを停止しますが、その順序は次のとおりです。
stopForeground(true);
wl.release();
stopSelf();