Ich habe den folgenden Code. Ich habe in HelloAndroid2.java einen Alarm eingerichtet und Alarm ausgelöst, und nach 2 Sekunden zeigt AlarmReceiver.java eine Toast-Nachricht an. Ich wollte etwas Audio zur App hinzufügen, aber ich habe einige Probleme.Android MediaPlayer Frage
HelloAndroid2.java:
public class HelloAndroid2 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
intent, PendingIntent.FLAG_ONE_SHOT);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (2 * 1000), pendingIntent);
Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show();
}
}
AlarmReceiver.java:
public final class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Alarm worked.", Toast.LENGTH_LONG).show();
}
}
Q1: Wenn ich diesen Code in HelloAndroid2.java:
MediaPlayer mp = MediaPlayer.create(getBaseContext(), R.raw.onlyyou);
`mp.start();`
Es funktioniert gut.
Wie kann ich einen mp.stop() zum AlarmReceiver.java hinzufügen? Es weiß nicht, was mp ist.
Q2: Wenn ich den Code in der Datei AlarmReceiver.java setzen, gibt es ein Problem mit getBaseContext() (sagt: undefined für den Typ AlarmReceiver)
Sollte ich einen anderen Kontext verwenden?
Ich hoffe es ist okay, dass ich zu Fragen in einem Thema aufgeworfen habe.
Vielen Dank! Im AlarmReceiver.java habe ich den Code: context.startService (neue Absicht (Kontext, MyService.class)); Und ich habe eine MyService.java für den Code, den ich hier gefunden: http://developer.android.com/reference/android/app/Service.html – erdomester