android - 'OK"按钮的覆盖方法

标签 android

我为音频示例创建了一个简单的 Activity 类。但问题是即使我离开应用程序,音频文件也会继续运行。我只想通过按下任何电话中间的“确定/完成”按钮来停止 Activity 。我应该在 Activity 类中覆盖哪个方法?

public class Audio extends Activity {

    private MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    setVolumeControlStream(AudioManager.STREAM_MUSIC);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_audio, menu);
    return true;
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    int resId;
    switch (keyCode) {
    case KeyEvent.KEYCODE_DPAD_UP:
    resId = R.raw.up;
    break;
    case KeyEvent.KEYCODE_DPAD_DOWN:
    resId = R.raw.down;
    break;

    default:
        return super.onKeyDown(keyCode, event);
    }

    // Release any resources from previous MediaPlayer
    if (mp != null) {
        mp.release();
        }

    // Create a new MediaPlayer to play this sound
    mp = MediaPlayer.create(this, resId);
    mp.start();

    // Indicate this key was handled
    return true;


}

}/// end class

最佳答案

尝试使用这个:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_HOME)) {
    Toast.makeText(Audio.this, "You pressed the home button!", Toast.LENGTH_LONG).show();  
    Audio.this.finish();                  
    return true;
}
return super.onKeyDown(keyCode, event);

关于android - 'OK"按钮的覆盖方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12346287/

相关文章:

android - 试驾安卓

android - 你如何提示用户设置默认家庭应用程序

java - Android应用程序连接到外部数据库

Android GPS 和 wifi 状态 在应用程序中

android - 适用于 iOS 和 Android 中的 native 移动应用程序的性能测试工具

android - Visual Studio 2015 Cordova 插件添加失败

android - 为什么在 RecyclerView 中滚动时 EditText 中的输入值会交换其位置?

android - ionic 电容器 - 如何在 Android 设备上播放铃声/闹钟?

android - 底部没有 TitleBar 的 ActionBar

Android - 需要一个数字翻转动画