从ActivityB停止ActivityA中的MediaPlayer

问题描述

我是Android Java的新手。 我有2个活动,MainActivity和SongActivity。音频文件正在MainActivity中播放,我想通过按SongActivity中的按钮来暂停和恢复它。

我在MainActivity中的代码:

public MediaPlayer player;

player = MediaPlayer.create(getApplicationContext(),Uri.parse(songPath));
//songPath is the path of an audio file picked by the user

public void pauseSong() {
 player.pause();
} 

SongActivity中的代码:

MainActivity ma = new MainActivity();
ma.pauseSong();

我得到的错误:void.android.media.MediaPlayer.pause() on a null object reference

感谢您的帮助

解决方法

首先,在开始编写代码之前,您需要了解android组件及其用途。您在这里遇到了几个问题。服务旨在进行后台工作(例如在您的情况下播放音乐)。主要活动是您应用程序的入口点。您应该将第二项活动作为服务并在其中播放音乐。创建活动后,然后启动服务。然后,只要用户关闭了应用程序,或者使用服务中的粘滞标记,根据您的需要执行任何操作,就可以处理服务结束。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...