zoukankan      html  css  js  c++  java
  • java.lang.IllegalArgumentException: Service not registered

    java.lang.IllegalArgumentException: Service not registered

    首先检查一下,Service是否在AndroidManifest文件中注册。格式如下:

      <service   android:name=".MyService"  ></service>

    如果Service已经注册了,还是会报这个错误的话,可能是

    1、bindService没有成功,就直接unbindService;

    2、也可能是已经unbindService成功了,还多次进行unbindService。

    解决方法:

    每次绑定服务时,用一个布尔值记状态为true,
    解除绑定服务时,检验布尔值是否为true,如果是true,就解除服务,并把布尔值设为false,

    这样即使多次解除服务,也不会报“service not registered”了。

    示例代码如下:

    private boolean mIsBound=false ;
    public void doBindService() {
      Intent bindIntent = new Intent(this, MyService.class);
       bindService(bindIntent,connection,BIND_AUTO_CREATE);
        mIsBound = true;
    }
     
    public void doUnbindService() {
        if (mIsBound) {
            unbindService(mConnection);
            mIsBound = false;
        }
    }
    

     更详细的解答见stack overflow:

    http://stackoverflow.com/questions/22079909/android-java-lang-illegalargumentexception-service-not-registered

  • 相关阅读:
    红外应用
    电池分类及特点
    温湿度传感器AM2302(DH22)
    lora
    跳频扩频技术学习
    STM32F4/F7运算性能
    物联网相关模块
    DC-DC芯片
    外部引用CSS中 link与@import的区别
    超酷实用的jQuery焦点图赏析及源码
  • 原文地址:https://www.cnblogs.com/expiator/p/5719774.html
Copyright © 2011-2022 走看看