J'ai un récepteur de diffusion privé à l'intérieur de ma classe de contrôleur. J'essaie d'avoir ma classe de contrôleur à l'écoute des messages de diffusion mais je continue à obtenir l'erreur suivanteRécepteur de diffusion privée ListView
java.lang.RuntimeException: Unable to instantiate receiver com.android.five.Controller: java.lang.ClassCastException: com.android.five.Controller
Voici ma configuration.
private final BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "message recieved");
Bundle bundle = intent.getExtras();
if (bundle.getString("ARTIST") != null) {
String artist_name = bundle.getString("ARTIST");
String track_name = bundle.getString("TRACK");
Log.d(TAG, artist_name);
Log.d(TAG, track_name);
}
}
};
Ceci est mon fichier manifeste.
<activity
android:name=".Controller"
android:label="@string/app_name"
android:noHistory="true" >
<intent-filter>
<action android:name="com.android.five.services.SONG_CHANGE" />
</intent-filter>
</activity>
<receiver android:name="com.android.five.Controller" >
<intent-filter>
<action android:name="com.android.five.services.SONG_CHANGE" />
</intent-filter>
</receiver>
Sûrement ''? Mais si son privé ne pense pas que le manifeste peut le voir, changez-le en public. –
Blundell
toujours rien. :( – James
J'ai pu me débarrasser de l'erreur, mais ma classe de contrôleur ne peut pas écouter les messages de diffusion de mon service – James