安卓如何向服务传递uri?

我想做个程序,可以动态改变背景音乐,但是传递uri后程序崩溃了。这是服务:publicclassPlayServiceextendsService{privateMedi... 我想做个程序,可以动态改变背景音乐,但是传递uri后程序崩溃了。
这是服务:
public class PlayService extends Service{
private MediaPlayer mediaPlayer;
private boolean isPlaying;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
if (mediaPlayer == null) {
mediaPlayer = MediaPlayer.create(this, R.raw.music);
mediaPlayer.setLooping(false); }
super.onCreate();
}

@Override
public void onDestroy() {
// TODO Auto-generated method stub
if(mediaPlayer != null){
mediaPlayer.stop();
mediaPlayer.release();
}
super.onDestroy();
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
if(intent != null){
Bundle bundle = intent.getExtras();
String path = bundle.getString("url");
try{
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();
}catch(IOException e){
e.printStackTrace();
}
}
isPlaying = intent.getBooleanExtra("isPlaying", false);
if (isPlaying){
mediaPlayer.start();
}else {
mediaPlayer.pause();
}
return super.onStartCommand(intent, flags, startId);
}

}
这是要传递的uri:
Bundle mBundle = new Bundle();
notificationStr = pickedUri.toString();
mBundle.putString("url", notificationStr);
Intent i = new Intent(SoundSettingMainActivity.this,PlayService.class);
i.putExtras(mBundle);
startService(i);
展开
 我来答
798427469
2015-05-19 · TA获得超过349个赞
知道小有建树答主
回答量:429
采纳率:50%
帮助的人:113万
展开全部
Intent mIntent=new Intent(context, PushService.class);
mIntent.putExtra("KEY", your URL);
startService(mIntent);

onStartCommand里面接收 你的Intent
追问
请问context是什么?
追答
大哥、你是搞Android的么、居然问我context 是什么
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式