2010-08-13 7 views
0

Я пытаюсь приобрести блокировку слежения в широковещательном приемнике, чтобы приложение будильника могло разбудить телефон от сна. Он сбой в следующей строке в приведенном ниже коде:Android - получение блокировки от приемника вещания

PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag"); 

Любые идеи, что происходит? Есть ли лучший способ сделать это? Спасибо!

import android.content.BroadcastReceiver; 

import android.content.Context; 

import android.content.Intent; 

import android.os.PowerManager; 

public class RepeatingAlarmReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     AlarmAlertWakeLock.acquireCpuWakeLock(context); 
     PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); 
     PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag"); 
     wl.acquire(); 

    } 

} 
+0

Не могли бы вы опубликовать след исключения, из-за которого ваше приложение вышло из строя? – adamk

ответ

0

используется контекст методы получения, чтобы получить менеджер питания и я думаю, что это контекст отправителя намерения так использовать контекст вашего приложения, которые должны работать.

1

Удостоверьтесь, что у вас есть разрешение WAKE_LOCK (проверьте AndroidManifest.xml).

+0

Это сработало, спасибо !!! – Billie