最近写了个播放器,用线程更新播放进度,当按下home键,再返回时,进度条停留在按下home键之前的状态,不会再往前走了,歌曲还在播放,其他功能都能进行,Log了一下,当歌曲播放时线程启动,按下home键后再返线程好像是停止了,不打印值。
各位帮我想一下这个问题怎么解决!

解决方案 »

  1.   

    估计是线程出错了吧,你的线程是在哪里生成的?又是在哪里启动的?按home键返回时,你的线程在哪个回调方法里暂停的?
      

  2.   

    线程是在另一个类里面写了一个Thread,往Activity内发当前播放时间的广播,用了一个标致位来控制他是否发送。在Activity的类内建了一线程所在类的对象,在Activity内的onCreate()方法内启动线程,在Activity类内的onStart()方法内将标致位设为true,启动线程,在onPouse()方法内将标致位设为false。
      

  3.   

    可以在按home键的时候执行onpause方法取消广播,然后回来在onresume方法重新注册广播
      

  4.   

    问题已解决,设置标致位时应在onDestroy()内将标致位设为false。当点击home键时会执行onPause()方法,如果这时把标致位设为false,那么这个线程就会停止,在onDestroy()内将标致位设为false时只有当程序关闭时才会执行