Tengo un problema. Estoy tratando de hacer que un receptor de transmisión adquiera un bloqueo de activación para que mi alarma active el teléfono desde el modo de suspensión.Problema al adquirir el bloqueo de activación del receptor de difusión
En el receptor de radiodifusión más adelante, el programa se bloquea con el "origen no encontrado" en la línea "sCpuWakeLock.acquire(); cuando la clase 'AlarmAlertWakeLock' es llamado por AlarmReceiver Alguna idea de lo que está pasando ¿Hay una mejor.? manera de hacer lo que estoy tratando de hacer
En un archivo:?
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);
}
}
en un archivo separado:
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;
}
}
}