Android实战 - 音心播放器 (优化Service退出

1.背景

   在通知栏控制优化进行点击close退出的时候,通知栏往往关闭不了,后台服务关闭不了,音乐可以停止,但是会发生崩溃现象,让人很不爽。其次就是我们常见的按两次退出应用的方法实现。

                                                             

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.总结

   其他如果有问题,将会总结到这里。

文章导航