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

回答

3

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

sg.pms.ConnectivityHandler

你确定这ConnectivityHandler仍是这个包?

它看起来是在

sg.pms.connectivity

+0

当我鼠标移到在这片代码意图意图=新意图(此,ConnectivityHandler.class)的类;它是指正确的包是“sg.pms.connectivity”但我不知道为什么当它运行时引用包“sg.pms” – humansg 2012-02-08 14:59:26

相关问题