Я использую следующий service
, чтобы воспроизводить звук в своем приложении, когда запускается начало запуска приложения, и когда пользователь нажимает на любое button
в меню своей остановки. Но я столкнулся с некоторыми проблемами. Например, если пользователь открывает приложение и не нажимая никаких button
в меню приложения, он нажимает меню button
на мобильный звук не останавливается. И если при запуске приложения и звонке или сообщении на мобильном телефоне все еще звучат в фоновом режиме. Как остановить service
на этих 2 мероприятиях?Как остановить сервис при событии нажатия кнопки
Сервис code-
public class PlayAudio extends Service{
private static final String LOGCAT = null;
MediaPlayer objPlayer;
public void onCreate(){
super.onCreate();
Log.d(LOGCAT, "Service Started!");
objPlayer = MediaPlayer.create(this, R.raw.test);
}
public int onStartCommand(Intent intent, int flags, int startId){
objPlayer.start();
Log.d(LOGCAT, "Media Player started!");
if(objPlayer.isLooping() != true){
Log.d(LOGCAT, "Problem in Playing Audio");
}
return 1;
}
public void onStop(){
objPlayer.stop();
objPlayer.release();
}
public void onPause(){
objPlayer.stop();
objPlayer.release();
}
public void onDestroy(){
objPlayer.stop();
objPlayer.release();
}
@Override
public IBinder onBind(Intent objIndent) {
return null;
}
}
Когда мое приложение начинается с заставки деятельности я начиная аудио как-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
objIntent = new Intent(this, PlayAudio.class);
startService(objIntent);
new Handler().postDelayed(csRunnable2, 5000);
}
Затем в основной деятельности меню остановки, когда пользователь нажимает любую Button-
hist = (Button) findViewById(R.id.hist);
hist.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
objIntent = new Intent(MainActivity.this, PlayAudio.class);
stopService(objIntent);
startActivity(new Intent(MainActivity.this, History.class));
finish();
И, пожалуйста, скажите мне, где я должен делать изменения?
Метод Stopself(), называемый – DaxeshKhatri
Вы также должны явно называть его нажатием кнопки. Где ты это сделал? Это ваш полный код, который вы опубликовали? – Saggy