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) {
...
}
}
これはどのように修正できますか?
EDIT: Eclipseのバグのようですね。私はプロジェクト空間のクリーンアップを行い、ビルドをやり直し、この「ミスリンク」問題を解決します。
Iマウスクラスオーバーコードテント意図=新しいテント(この、ConnectivityHandler.class)のこの部分においてであると見えます。それは "sg.pms.connectivity"である正しいパッケージを参照していますが、なぜそれを実行するとパッケージ "sg.pms"を参照しているのかわかりません – humansg