Ich habe ein Problem. Ich versuche, einen Broadcast-Empfänger dazu zu bringen, eine Wecksperre zu aktivieren, damit mein Wecker das Telefon aus dem Schlafmodus weckt.Problem, Wake Lock von Broadcast Empfänger
In dem Rundfunkempfänger unter, stürzt das Programm mit „Quelle nicht gefunden“ on line „sCpuWakeLock.acquire(); wenn die Klasse‚AlarmAlertWakeLock‘von AlarmReceiver genannt wird Jede Idee, was los ist Gibt es eine bessere.? Art und Weise zu tun, was ich zu tun habe versucht
in einer Datei:?
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
AlarmAlertWakeLock.acquireCpuWakeLock(context);
}
}
In einer separaten Datei:
import android.content.Context;
import android.os.PowerManager;
public class AlarmAlertWakeLock {
private static PowerManager.WakeLock sCpuWakeLock;
static void acquireCpuWakeLock(Context context) {
if (sCpuWakeLock != null) {
return;
}
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
sCpuWakeLock = pm.newWakeLock(
PowerManager.PARTIAL_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP,"okTag");
sCpuWakeLock.acquire();
}
static void releaseCpuLock() {
if (sCpuWakeLock != null) {
sCpuWakeLock.release();
sCpuWakeLock = null;
}
}
}