0
다른 서브 패키지 이름으로 코드를 정리 한 후에이 오류가 발생합니다.Android - 런타임 예외. "수신기를 인스턴스화 할 수 없습니다"
ERROR/AndroidRuntime(5879): java.lang.RuntimeException: Unable to instantiate receiver sg.pms.ConnectivityHandler: java.lang.ClassNotFoundException: sg.pms.ConnectivityHandler in loader dalvik.system.PathClassLoader[/data/app/sg.pms-1.apk]
이 코드를 실행할 활동 (주 패키지에서).
package sg.pms;
...
...
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Register a timer to trigger ConnectivityHandler task every 10minutes
Intent intent = new Intent(this, ConnectivityHandler.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this,
234324243, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC, 0, 60 * 1000,
pendingIntent);
}
하위 패키지의 ConnectivityHandler 클래스.
package sg.pms.connectivity;
...
public class ConnectivityHandler extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
...
}
}
어떻게 수정합니까?
편집 : Eclipse의 버그처럼 보입니다. 프로젝트 공간을 정리하고 빌드를 다시하고이 "잘못된 링크"문제를 해결합니다.
때 코드 의도 의도 = 새로운 의도 (이, ConnectivityHandler.class)의이 작품의 클래스를 통해 마우스; 그것은 "sg.pms.connectivity"라는 올바른 패키지를 참조합니다. 그러나 패키지를 실행 중일 때 "sg.pms"패키지를 참조하는 이유를 모르겠습니다. – humansg