私は最近、サービスを勉強していて、それを実験しています。私は音楽プレーヤーを作るつもりはありませんが、サービスの仕組みについて学ぶだけです。それで私が何をやっているのか説明しましょう。メインプロセスが停止したときにサービスが破壊されるのはなぜですか?
私のアプリケーションは、私が
@Override
public void onCreate()
{
mediaPlayer=MediaPlayer.create(this,R.raw.serenity);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
mediaPlayer.start();
return 0;
}
を持っているService
クラスを拡張1 Activity
と1 Service
を持っていると私MainActivity
のクラスで私は
startService(intent);
により、メインスレッドでService
を開始午前また、属性を追加しました
<service
android:name=".MusicService"
android:process=":music"/>
別のプロセスでサービスを実行する。今私は、アクティビティクラスのボタンを使ってサービスを開始すると、サービスが音楽を再生し始めますが、私が戻るボタンを押すとアクティビティが破棄され、音楽はまだ再生されますが、私が望むものは再生しますが、その後、音楽は止まり、最初から始まります。なぜこれが起こっているのか教えてください。私は音楽の停止を望んでいない、私はそれがちょうどアプリケーションの活動やプロセスから独立して再生したい。
マニフェストから 'android:process =":music "を削除してみてください。 –