私はアンドロイドソースを使用しています。私は、アプリケーションの1つからブロードキャストを送信しており、別のアプリケーションの(ランチャー)マニフェストにインテントフィルタを記載したように記述しています。Androidでブロードキャストを送信中に例外が発生する
<receiver
android:name="com.android.launcher2.LauncherModel"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.abc.THEMECHANGED" />
</intent-filter>
</receiver>
受信者を拡張するクラスは、com.android.launcher2.LauncherModelです。ブロードキャストが発生したとき、Launcherで次の例外が発生します。
01-01 00:01:45.101: WARN/dalvikvm(835): threadid=1: thread exiting with uncaught exception (group=0x40b131f8)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): FATAL EXCEPTION: main
01-01 00:01:45.109: ERROR/AndroidRuntime(835): java.lang.RuntimeException: Unable to instantiate receiver com.android.launcher2.LauncherModel: java.lang.InstantiationException: can't instantiate class com.android.launcher2.LauncherModel; no empty constructor
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2108)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at android.app.ActivityThread.access$1500(ActivityThread.java:125)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at android.os.Handler.dispatchMessage(Handler.java:99)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at android.os.Looper.loop(Looper.java:137)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at android.app.ActivityThread.main(ActivityThread.java:4368)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at java.lang.reflect.Method.invokeNative(Native Method)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at java.lang.reflect.Method.invoke(Method.java:511)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at dalvik.system.NativeStart.main(Native Method)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): Caused by: java.lang.InstantiationException: can't instantiate class com.android.launcher2.LauncherModel; no empty constructor
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at java.lang.Class.newInstanceImpl(Native Method)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at java.lang.Class.newInstance(Class.java:1319)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2103)
01-01 00:01:45.109: ERROR/AndroidRuntime(835): ... 10 more
誰かが、この問題が発生したときは、基本パッケージ構造からクラスへのパスのみを必要とする必要がある名前については、同じ
クラスcom.android.launcher2.LauncherModelをインスタンス化できません。空のコンストラクタはありません。 LauncherModelコードを表示してください。 –
[コードはこちら](http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/2.2_r1.1/com/android /launcher2/LauncherModel.java#LauncherModel.onReceive%28android.content.Context%2Candroid.content.Intent%29) – user264953