Android - 运行时异常。 “无法实例化接收器”

时间:2012-02-08 13:40:04

标签: android package

在将代码整理成不同的子包名后,我遇到了这个错误。

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中的一个错误。我执行项目空间的清理并再次进行构建,它解决了这个“错误链接”问题。

1 个答案:

答案 0 :(得分:3)

ClassNotFoundException:ConnectivityHandler正在为您提供问题的详细信息。

  

sg.pms.ConnectivityHandler

您确定此ConnectivityHandler仍在此包中吗?

它看起来在

  

sg.pms.connectivity