我做个后台播放音乐程序  
通过 远程绑定到一个后台的音乐service,然后启动service播放音乐
bindService(intent,serviceConnection,Context.BIND_AUTO_CREATE);
播放音乐后,当前的activity是可以控制停止和关闭音乐的,当我点了下  手机上的回到桌面的按钮,然后程序退出 回到了桌面,这个时候后台还是在播放音乐了,但是前台的activity应该是已经关闭了,这个时候我又运行了一遍音乐播放程序,打开的avtivity已经不能对后台正在播放的音乐进行操作了 ,而是又打来了一个新的播放程序!!!请问高手们  怎么没样让他们始终操作一个后台的service啊~~我想到达到的效果是 ::播放音乐后,就可以做别的事情,开别的程序了,当我想操作音乐的时候,打开音乐程序就可以操作目前已经在播放的音乐

解决方案 »

  1. 恩,这个很难,你的程序在前台程序被切了之后很快就会被关了的,不起个新的ACTIVITY怎么实现,这个等大牛吧。
      

  2. 把你的activity配置成singleInstance,再在放入Notification里面去,按BACK后还可以从Notification点击回来。
      

  3. Proxy 设计模式是否可以用一下呢
      

  4. 现在可以正常获取了现在又出来个问题,activity 远程调用  销毁方法 一个非常非常奇怪的问题 ,等待高手  当我使用 activity 的ondestroy()方法中用kill杀掉activity的时候,我使用ddbm做监控
    当点击  back的时候,单独的activity被完全销毁,没有了进程,
    当销毁一个远程调用sercice的activity的时候,点击back按钮,进程也被杀掉了。但是非常奇怪的问题出来了,那个被杀掉进程又突然自己起来了,我不明白是什么原因?注意:只有在远程调用的时候才出现这个问题哪位高手知道,我可以加分奖励
      

  5. Android 的生存周期很诡异迷茫ing
      

  6.   当我使用 activity 的ondestroy()方法中用kill杀掉activity的时候,我使用ddbm做监控 
    当点击  back的时候,单独的activity被完全销毁,没有了进程, 
    当销毁一个远程调用sercice的activity的时候,点击back按钮,进程也被杀掉了。但是非常奇怪的问题出来了,那个被杀掉进程又突然自己起来了,我不明白是什么原因? 后台显示的是 
    12-12 07:12:11.868: INFO/NotificationService(581): 
    enqueueToast pkg=com.jlins.schedule callback=android.app.ITransientNotification$Stub$Proxy@4372ff80 duration=1注意:只有在远程调用的时候才出现这个问题 哪位高手知道,我可以加分奖励
      


  7. 恩 是的,现在的问题是   已经被关掉的service比如 音乐播放程序,点back的时候的确是关闭了,音乐贴纸了,但是大约过了几秒后 音乐播放service又自动启动啦!!!   我想不通这是为什么?
      

  8. 本来就是自动这样的,你如果kill,就会自动启动,你可以在ddms里面测试一下
      

  9. 我自己做了个任务管理器,我想在这个程序中关闭系统正在运行的一个service,用stopService()试了多次都不行,请问高手们这个该怎样用代码实现?如有人帮我解决,一定重谢
      

  10. 试试ActivityManager里面的restartPackage函数
      

  11. LZ,我现在也遇到跟你一样的问题!请问你现在是否解决了啊?!能不能给小弟指点指点!如果可以的话加Q397782562,共勉一下啊!万分感激啊!
      

  12. 可以在调用startService(intent)之前先调 stopService(intent),并在Service的onDestroy()里面关闭播放器,不过要做个播放器是否为空的判断,这样你点任何时候播放时都会先stop掉播放器,然后重新播放了,但是有个BUG,如果你调用过release()把MediaPlayer释放掉了,为空判断就不起作用了,这时候在onDestroy()里面就会出错
      

  13. 楼主,求救
    kill了的service会自动启动,知道怎么处理了吗?
    非常感谢
      

  14. 在解绑service后调用一个selfStop关闭service,不要直接kill掉进程,selfStop应该是异步的。我在music里就遇到这个烂问题,暂时这么解决了。PS:是回答21L的。
      

  15. 22楼正解。因为service和你的activity无关联的。即使你的应用程序进程kill掉了,但是service依然存在。是系统自动维护了。所以在解除绑定的时候,关闭service。
      

  16. 这个service自动重启 是android多媒体服务的一个自动重启机制。即使kill了media进程 它底层框架会自动重新开启meida service的。想要知道原因,自己去研究media框架吧 ,就知道这么多了。
      

类似问题 »