Android实战 – 音心播放器 (优化Service退出,按两下退出应用实现)
最后更新于:2022-04-01 10:53:07
# 1.背景
在通知栏控制优化进行点击close退出的时候,通知栏往往关闭不了,后台服务关闭不了,音乐可以停止,但是会发生崩溃现象,让人很不爽。其次就是我们常见的按两次退出应用的方法实现。
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-19_5715764fce934.jpg)
# 2.优化通知栏关闭服务
问题:通知栏的close 关闭服务按钮,关闭不了?
解决 : 经使用酷狗音乐,发现在关闭通知栏的时候,应用会随着通知栏的关闭而关闭,故在优化上进行了一些思考:
1)关闭音乐播放器,释放资源
2)停止当前音乐服务(stopService)
3)取消Notification
4)取消注册的BroadcastReceiver
5)System.exit(0); 退出应用
~~~
@Override
public void onDestroy() {
//释放音乐资源
if (mp != null) {
mp.stop();
mp.release();
mp = null;
musics = null;
}
//停止当前的Service
stopService(stopIntent);
//取消通知
musicNotifi.onCancelMusicNotifi();
// 取消注册的广播
unregisterReceiver(musicBroadCast);
//关闭应用
System.exit(0);
}
~~~
# 3.退出优化
点击两次退出应用,一个boolean 变量控制 :
~~~
@Override
public void onBackPressed() {
if(isback){
isback=false;
finish();
}else{
showToast("再按一次退出应用");
isback=true;
}
}
~~~
4.总结
其他如果有问题,将会总结到这里。