2013-04-02 2 views
1

이 알림을 설정하는 내 코드이며 작동합니다상태 표시 줄에 새 알림이 전송되면 화면을 켜는 방법은 무엇입니까?

@Override 
    public void onReceive(Context context, Intent intent) { 

     category = (String) intent.getExtras().get("CATEGORY"); 
     notes = (String) intent.getExtras().get("NOTES"); 

     PendingIntent contentIntent = PendingIntent.getActivity(context, 0, 
       new Intent(context, MainActivity.class), 0); 

     NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
       context).setSmallIcon(R.drawable.ic_launcher) 
       .setContentTitle(category).setContentText(notes); 

     mBuilder.setContentIntent(contentIntent); 
     mBuilder.setDefaults(Notification.DEFAULT_SOUND); 
     mBuilder.setAutoCancel(true); 

     NotificationManager mNotificationManager = (NotificationManager) context 
       .getSystemService(Context.NOTIFICATION_SERVICE); 
     mNotificationManager.notify(1, mBuilder.build());  
    } 

이 내 브로드 캐스트 리시버에서 코드입니다. 이 BroadcastReceiver가 호출 될 때마다 상태 표시 줄에 알림이 표시됩니다. 디버깅하는 동안 화면이 꺼지고 새 알림이 만들어지면 화면이 켜지지 않는 것으로 나타났습니다. 이 일을 할 수있는 방법이 있습니까? 새로운 통지가 이루어지고 화면이 꺼지면 일정 시간 동안 켜야합니다. 새로운 SMS를받는 것처럼 시뮬레이션. 후 생성 알림, 알림이이 코드를 사용할 때 활성 화면을 원하는 경우, 실제로

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag"); 
wl.acquire(3000); 
wl.release(); 

답변

3

이 시도

PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); 
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "Tag"); 
wakeLock.acquire(); 
wakeLock.release(); 
+0

도 추가를 <안드로이드 권한 사용 name = "android.permission.WAKE_LOCK"/>을 매니페스트의 권한에 추가하십시오. – user1492955

관련 문제