(转)关于在android中service开发的IllegalArgumentException错误和服务无法启动的解释

当执行.unbindService(mConnection);时报告如下异常:

java.lang.RuntimeException: Unable to destroy activity {com.symbio.kkbox.ui/com.symbio.kkbox.ui.PlayerActivity}: java.lang.IllegalArgumentException: Service not registered:

解决方法:

1、需要getApplicationContext().unbindService(mConnection);来提升应用程序级别。同理,bindservice也需要提升到applicationcontext级别

2、在客户端也要在AndroidMainifest.xml中注册跟定义服务一样的service声明。比如,定义远程服务的应用程序的AndroidMainifest.xml中注册的service是这样的:<service android:name="StockQuoteService">
            <intent-filter>
                <action android:name="com.androidbook.stockquoteservice.IStockQuoteService"/>
            </intent-filter>
        </service>

那么在客户端的android应用程序的AndroidMainifest.xml中也要这样的service定义。

posted @ 2012-08-19 14:49  wangle100  阅读(403)  评论(0编辑  收藏  举报