Ich habe stundenlang versucht, eine Ressource von einer Activity zu einer anderen über einen Intent zu übergeben.
Hier ist der Code aus meiner 'Source'-Aktivität:
Intent myIntent = new Intent(view.getContext(), Activity3.class);
int res = R.raw.voicefile;
myIntent = myIntent.putExtra("soundfile", res);
startActivityForResult(myIntent, 0);
Wie Sie sehen können, habe ich eine Datei namens voicefile in meinem Raw-Ordner und ich setze res gleich und übergebe sie mit meiner Absicht. (Ich nehme an, dass sie vom Typ int ist)
In meiner Empfangsaktivität habe ich:
Intent sender=getIntent();
int file=sender.getExtras().getInt("soundfile");
Zu diesem Zeitpunkt hatte ich gehofft, dass file gleich R.raw.voicefile in meiner Ziel-Activity ist und dass ich meine Variable 'file' in meinem MediaPlayer-Aufruf als solche verwenden kann:
MediaPlayer.create(getBaseContext(), file).start();
gegen:
MediaPlayer.create(getBaseContext(), R.raw.voicefile).start();
Mein Problem ist, dass ich jedes Mal, wenn ich in meiner Quellaktivität auf die Schaltfläche klicke, die meine Zielaktivität startet, ein Force Close erhalte.
Sehen Sie, liebe Experten, irgendeinen eklatanten Fehler in meinem Code?