마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

알람매니저 재부팅 질문!!!

+1 추천

Main.java

 

public void setAlram(Context context){
alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent2 = new Intent(Settings.this,
AlarmReceiver.class);
intent2.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pender = PendingIntent.getBroadcast(
Settings.this, 0, intent2, PendingIntent.FLAG_UPDATE_CURRENT);
 
triggerTime = setTriggerTime();
alarm.setRepeating(AlarmManager.RTC_WAKEUP, triggerTime, 5000, pender);
}
 
 
 
AlarmReceiver.java
 
 
 
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
set.setAlram(context);
}  

매니페스트

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
   
<receiver android:name=".AlarmReceiver" android:process=":remote" android:enabled="true">
        <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
        </intent-filter>
    </receiver>

퍼미션도 다 넣고 했는데 자꾸 알람이 울릴 시간이 되면 

if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED"))

이부분이 널포인트가 뜨는데요 ㅠㅠ 뭐가 잘못된거죠 ??

 

재부팅시 어떻게 하면 정해진 시간에 다시 알람이 울리게 할수 있을까요 ㅠ.ㅠ

익명사용자 님이 2015년 3월 8일 질문

1개의 답변

+1 추천
혹시 set.setAlram(context); 부분이 널포인트 인 것 아닌가요?

set 이 Null 일 가능성도 있을 것 같아서요~

set 이 언제 인스턴스화 되는지 확인이 필요할 것 같습니다.
가랑비 (10,530 포인트) 님이 2015년 3월 8일 답변
if("android.intent.action.BOOT_COMPLETED".equals(intent.getAction()))

이런식으로 바꾸니까 되네요~
...