2012-05-16 3 views
0

Я создаю приложение для музыки. У меня проблема: когда пользователь нажимает кнопку «Назад/домой», музыка продолжает воспроизводиться.Как остановить активность при нажатии пользователем Главная?

Here is my APK file

Как я могу позволить пользователю вернуться на главную операцию и очистить текущую деятельность (воспроизведение музыки)?

ответ

1

Вам необходимо переопределить onPause() или onStop() и остановить музыку там.

+0

Музыка и видео в моем приложении воспроизводятся в WebView, поэтому я не мог использовать кнопку Layout, чтобы остановиться. – SopheakVirak

0

Вы можете использовать свою onPause() своей деятельности, чтобы остановить или приостановить использование медиапланера.

Override OnPause(), как это,

@Override 
protected void onPause() 
{ 
    super.onPause(); 
    if(mediaplayer!=null) 
{ 
    mediaplayer.pause(); 
} 
} 

И когда Вы входите в свою деятельность еще раз, переопределить onResume(), как это,

@Override 
      protected void onResume() { 
       super.onResume(); 

if(mediaplayer!=null) 
{ 
    mediaplayer.start(); 
} 
} 
+0

Моя музыка и видео воспроизводятся в WebView. Можете ли вы дать решение? – SopheakVirak

0

переключение между OnPause и OnStart является important Метод onPause() переопределяется, чтобы обеспечить контроль игрока в этом экземпляре. также и может относиться this

package org.example.audio; 

import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 

public class AudioDemo extends Activity implements OnClickListener { 
    private static final String TAG = "AudioDemo"; 
    private static final String isPlaying = "Media is Playing"; 
    private static final String notPlaying = "Media has stopped Playing"; 

    MediaPlayer player; 
    Button playerButton; 

    public void onClick(View v) { 
     Log.d(TAG, "onClick: " + v); 
     if (v.getId() == R.id.play) { 
      playPause(); 
     } 
    } 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     player = MediaPlayer.create(this, R.raw.robotrock); 
     player.setLooping(false); // Set looping 

     // Get the button from the view 
     playerButton = (Button) this.findViewById(R.id.play); 
     playerButton.setText(R.string.stop_label); 
     playerButton.setOnClickListener(this); 

     // Begin playing selected media 
     demoPlay(); 

     // Release media instance to system 
     player.release(); 

    } 

    @Override 
    public void onPause() { 
     super.onPause(); 
     player.pause(); 
    } 

    // Initiate media player pause 
    private void demoPause(){ 
      player.pause(); 
      playerButton.setText(R.string.play_label); 
      Toast.makeText(this, notPlaying, Toast.LENGTH_LONG).show(); 
      Log.d(TAG, notPlaying); 
    } 

    // Initiate playing the media player 
    private void demoPlay(){ 
      player.start(); 
      playerButton.setText(R.string.stop_label); 
      Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show(); 
      Log.d(TAG, isPlaying); 
    } 

    // Toggle between the play and pause 
    private void playPause() { 
     if(player.isPlaying()) { 
      demoPause(); 
     } else { 
      demoPlay(); 
     } 
    } 
} 
+0

Вся моя музыка и видео воспроизводятся в WebView. Так, я мог бы – SopheakVirak

0

Когда пользователь нажимает на кнопку управления переходит в следующий метод обратно (Вставьте этот метод в вашем коде)

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
    super.onKeyDown(keyCode, event); 
            if (keyCode == KeyEvent.KEYCODE_BACK) { 
                    // code to pause or stop the music!!!! 
            } 
            **return false;** 
        } 
+0

Дорогой Патил, не могли бы вы дать мне понять это? потому что я очень новичок в android. – SopheakVirak

+0

Я не могу скачать ваш apk Мое мышление и разработка есть; 1. Yo два действия в вашем проекте - Main и Current 2. В текущей деятельности поставить выше метод 3. когда пользователь нажимает на кнопку НАЗАД, управление переходит в этот метод 4. так пишут код внутри этого метода, чтобы остановить или приостановить вашу музыку, а затем просто написать finish(); 5. finish(); будет называть вашу главную деятельность У вас есть идея? –

1

Попытка переопределить метод onWindowsFocusChanged(boolean hasFocus).

Смежные вопросы