Android使用AIDL开发播放器报错:抱歉,应用程序已停止运行

本文分享了在开发Android音乐播放器过程中遇到的应用程序崩溃问题及其解决方案。问题出现在使用SeekBar进行进度控制,并通过AIDL机制操作后台Service时。文章详细介绍了如何避免因未正确解除Service绑定及多次释放MediaPlayer资源导致的异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天在自己尝试开发一个简易的音乐播放器,在完成简单播放功能后,想要添加一个可以拖放的进度条,在Android中是SeekBar控件,然后为了在activity中实时操作执行播放任务的service,需要使用Android中的AIDL机制,这个东西看了好几天才略微看懂能上手用,在测试程序时候,其它都没有问题,就是按下返回键结束的时候,会报错说:抱歉,应用程序已停止运行,我以为是控制进度条的线程出了问题,后来发现是两个原因,第一个就是没有在activity的onDestroy()方法里unBind(ServiceConnection),另一个就是在service的onDestroy()方法里面调用了一次MediaPlayer.release(),然后在实现aidl的接口里在stop后面又调用了一次release(),相当于在结束应用程序时候调用了两次release()方法,所以出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值