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 2012-02-08 14:59:26