【发布时间】:2016-12-01 12:50:19
【问题描述】:
我想做的只是通过服务控制我的应用中的背景音乐,这样我就可以在任何活动中启动它并停止它。
当我在启动和销毁服务时告诉 Toast 服务时,我的所有设置都完美无缺,但只要我将媒体播放放在那里,它就可以正常启动并开始播放音乐,但只要点击一下停止服务的按钮我收到错误并强制关闭。
谁能建议我做错了什么?
这是我的代码:
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
import android.widget.Toast;
public class MyService extends Service {
private MediaPlayer player;
@Override
public IBinder onBind(Intent intent) {
returnnull;
}
@Override
publicvoid onCreate() {
super.onCreate();
Toast.makeText(this, "Service Started", Toast.LENGTH_SHORT).show();
MediaPlayer player = MediaPlayer.create(MyService.this, R.raw.oceanwavestest);
player.start();
player.setLooping(true);
}
@Override
publicvoid onDestroy() {
super.onDestroy();
player.stop();
Toast.makeText(this, "Service Stopped", Toast.LENGTH_SHORT).show();
}
}
【问题讨论】:
-
使用 DDMS、
adb logcat或 Eclipse 中的 DDMS 透视图来检查 Java 堆栈跟踪是否存在崩溃,以确定哪里出了问题。
标签: java android service media-player