필자의 전화가 이클립스에 연결되어 있지만 "완전히"부팅 될 때까지 로그캣을 볼 수 없으며 리시버 (어플리케이션)가 충돌하기 전에 디버깅 할 수 없습니다.안드로이드 부팅시 수신자 크래킹
이내 수신기가 있기 때문에 상황에 맞는 문제의 부팅에 충돌되어 확실 해요 : : 나는 상황과 의도와 뭔가 관련이있다 확신
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Calendar c2 = Calendar.getInstance();
int hour = c2.get(Calendar.HOUR_OF_DAY);
int minute = c2.get(Calendar.MINUTE);
int sek = c2.get(Calendar.SECOND);
int dan;
int dodaj;
milivreme = ((hour * 60 * 60 * 1000)+ (minute * 60 * 1000) + (sek * 1000));
Cursor cursor = DatabaseManager.getAllData();
cursor.moveToFirst();
if (!cursor.isAfterLast())
{
do
{
milibaza = cursor.getInt(3);
razlika = milibaza - milivreme;
Intent intent1 = new Intent(context, AlarmReceiver.class);
PendingIntent pendingintent = PendingIntent.getService(context, 2, intent1, PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager am = (AlarmManager) context.getSystemService(context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + razlika, pendingintent);
}
while (cursor.moveToNext());
}
}
업데이트를 마지막으로 예외를 잡기 위해 관리 :
01-06 02:21:19.920: E/AndroidRuntime(7360): java.lang.RuntimeException: Unable to start receiver com.example.prva.OnBootReceiver: java.lang.NullPointerException
왜 답변자를 추측하지 못하게합니까? 귀하의 logcat 스택 추적 (귀하의 응용 프로그램이 충돌 할 때 발생하는 빨간색 출력, 휴대 전화에서 USB 디버깅이 제공된다면 (에뮬레이터는 기본적으로 그렇게합니다). 또한 리시버는 작업을 수행하는 데 10 초 밖에 걸리지 않습니다. 왜 거기에 루프가 있는지 알 수 없습니다. –
@ A - C 이미 말씀 드렸습니다. 첫 문장을 읽었습니다. Logcat이 오류를 잡을 수 있기 전에 Logcat이 오류를 잡아 내지 못합니다. Logcat을 게시 할 수 있다면 기쁠 것입니다. – user1880779
명령 줄에서 adb logcat을 사용하면 빠릅니다. 예외를 디스크에 기록하는 Exception 핸들러를 만들 수도 있습니다. 마지막으로, 신선한 시작, 당신은 잘못 갈 수있는 많은 것들이 있습니다. 또한 컨텍스트는 컨텍스트입니다. 줄 바꿈 이외의 다른 곳으로 캐스팅하지 않으면 문제가되지 않습니다. –