아이 브 (Ive)는 간단한 브로드 캐스트 리시버를 만들었습니다.이 애플리케이션은 전화기가 부팅되어 alarmmanager 메소드를 시작한 것으로, 이처럼 광범위한 애플리케이션을 처리하는 확장 된 애플리케이션 파일에 넣어 두었습니다. 이것은 액티비티에서 호출 할 때 잘 동작하지만, 브로드 캐스트 리시버에서 호출하려고 할 때 충돌이 발생하고 작동하지 않습니다. 어쩌면 내가 어떤 방식으로 컨텍스트를 추가해야합니까?Android 브로드 캐스트 리시버는 확장 애플리케이션으로 null 포인터 예외를 반환합니다.
package com.testapp21.second.activities;
import com.testapp21.second.OTweetApplication;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class PhoneOnReceiver extends BroadcastReceiver {
private OTweetApplication app;
@Override
public void onReceive(Context context, Intent intent) {
app.startChecks();
}
}
편집 : startCheckshelper (라는 헬퍼 파일) 여기에 방법에 껐다 startChecks 대표는 코드 블록이 모습입니다 : 여기
내 코드입니다public void startCheckshelper(){
mAlarmSender = PendingIntent.getService(context,
0, new Intent(context, CheckerService.class), 0);
// We want the alarm to go off 30 seconds from now.
long firstTime = SystemClock.elapsedRealtime();
// Schedule the alarm!
AlarmManager am = (AlarmManager)context.getSystemService(Service.ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
firstTime, 60*1000, mAlarmSender);
}
startChecks()에서 충돌이 발생합니까? 내가 생각하기에 더 많은 정보를 알아야 할 것입니다. – davehale23
Ive가 확장 된 응용 프로그램에서 실행하는 메소드에 추가되었습니다. –