0
그건 내 MainActivity입니다. package com.example.simeon.cookingbook.activities;원할 때 서비스를 중지하고 시작할 수 없습니다
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import com.example.simeon.cookingbook.R;
import com.example.simeon.cookingbook.services.BackgroundMusic;
public class MainActivity extends AppCompatActivity {
Intent srv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.srv = new Intent(this, BackgroundMusic.class);
startService(srv);
}
@Override
protected void onDestroy() {
super.onDestroy();
stopService(srv);
}
@Override
protected void onPause() {
super.onPause();
stopService(srv);
}
@Override
protected void onStop() {
super.onStop();
stopService(srv);
}
@Override
protected void onRestart() {
super.onRestart();
startService(srv);
}
@Override
protected void onResume() {
super.onResume();
startService(srv);
}
}
That 's BackgroundMusic 서비스.
package com.example.simeon.cookingbook.services;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import com.example.simeon.cookingbook.R;
public class BackgroundMusic extends Service {
private static final String TAG = null;
public MediaPlayer player;
public IBinder onBind(Intent arg0) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
player = MediaPlayer.create(this, R.raw.background);
player.setLooping(true); // Set looping
player.setVolume(100,100);
}
public int onStartCommand(Intent intent, int flags, int startId) {
player.start();
return START_STICKY;
}
}
나는 다른 활동을하고 난 내 응용 프로그램을 열 때 음악을들을 수 싶어하지만 배경에 갈 때, 나는 연주를 계속 음악을하고 싶지 않아요. BaseActivityClass로 시도해 보았지만 많이 읽었지만 솔루션은 아직 없습니다. 도와주세요, 미리 감사드립니다.
내 응용 프로그램이 백그라운드로 이동할 때 어떻게해야합니까? 서비스는 직접 중지 할 때만 파괴되지만 홈 버튼으로 음악이 계속됩니다. –
잘 들어, 활동의 onPause 메서드는 포커스를 잃을 때마다 호출됩니다. 따라서 홈 버튼을 클릭하면 현재 활동에서 onPause가 호출되므로, 거기에서 stopService를 호출 할 수 있습니다. –
나는 이것을 시도했지만 다른 활동으로 갈 때 음악이 멈춘다. 그래서 모든 액티비티가 확장하는 기본 액티비티를 만들려고했는데, onPause 메서드를 사용하면 stopService를 추가했지만 기본 액티비티에서는 인 텐트가 변경 될 때마다 onPause 메서드가 활성화되므로 이것이 작동하지 않습니다. . –