2010-08-13 31 views
7

Tôi gặp sự cố. Tôi đang cố gắng để làm cho một máy thu phát sóng có được một khóa thức để báo thức của tôi sẽ đánh thức điện thoại từ chế độ ngủ.Sự cố khi lấy khóa đánh thức từ bộ thu sóng phát sóng

Trong bộ thu phát dưới đây, chương trình gặp sự cố với "nguồn không tìm thấy" trên dòng "sCpuWakeLock.acquire(); khi lớp" AlarmAlertWakeLock "được gọi bởi AlarmReceiver Bất kỳ ý tưởng nào đang xảy ra? cách để làm những gì tôi đang cố gắng để làm

Trong một tập tin:

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); 

    }  
} 

Trong một tập tin riêng biệt:

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; 
     } 
    } 
} 

Trả lời

4

Đừng bận tâm, tôi figured it out - Tôi cần thêm trỗi dậy phép khóa để manifest:

sử dụng-phép android: name = "android.permission.WAKE_LOCK"

Hoạt động tốt bây giờ!

Các vấn đề liên quan