Android bindservice失败解决方法

Android bindservice失败解决方法

现象:

this.bindService(bindIntent, conn, Context.BIND_AUTO_CREATE);

相同的代码以前使用一直很正常,但最近在项目中使用却一直绑定失败,bindservice返回false。

原因:

使用了TabActivity, TabActivity里的子Activity调用this.bindservice,导致失败。该问题属于Google Android的缺陷,由于TabActivity已经被弃用了,所以也一直没有修复这个问题。

解决方法:

使用getApplicationContext()获取所属Activity的上下文环境才能正常bingService。

正确代码如下:

getApplicationContext().bindService(bindIntent, conn, Context.BIND_AUTO_CREATE);

以上就是Android bindservice失败解决方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Android中bindService基本使用方法概述

    Android中有两种主要方式使用Service,通过调用Context的startService方法或调用Context的bindService方法,本文只探讨纯bindService的使用,不涉及任何startService方法调用的情况.如果想了解startService相关的使用,请参见<Android中startService基本使用方法概述>. bindService启动服务的特点 相比于用startService启动的Service,bindService启动的服务具有如下特点:

  • Android 启动 Service(startservice和bindservice) 两种方式的区别

    Android Service 生命周期可以促使移动设备的创新,让用户体验到最优越的移动服务,只有broadcast receivers执行此方法的时候才是激活的,当 onReceive()返回的时候,它就是非激活状态. 如果没有程序停止它或者它自己停止,service将一直运行.在这种模式下,service开始于调用Context.startService() ,停止于Context.stopService(). service可以通过调用Android Service 生命周期() 或 Se

  • Android bindservice失败解决方法

    Android bindservice失败解决方法 现象: this.bindService(bindIntent, conn, Context.BIND_AUTO_CREATE); 相同的代码以前使用一直很正常,但最近在项目中使用却一直绑定失败,bindservice返回false. 原因: 使用了TabActivity, TabActivity里的子Activity调用this.bindservice,导致失败.该问题属于Google Android的缺陷,由于TabActivity已经被弃

  • 连接docker里面的mysql失败解决方法

    场景:在虚拟机的docker容器中安装latest版本的mysql之后,在宿主机中使用navicat连接虚拟机中的mysql出现下图报错: 2059 : Authentication plugin 'caching_sha2_password' cannot be loaded: 解决办法: 1.首先docker ps命令查看正在运行的容器,确保我们想要连接的mysql已经启动,如果没启动使用docker start命令启动(下图查看结果表示已经启动了一个mysql) 2.接着运行docker

  • 6ull加载linux驱动模块失败解决方法

    目录 0x01 加载驱动模块失败 0x02 解决方法 总结 0x01 加载驱动模块失败 加载驱动失败描述信息如下,错误信息提示板卡中运行的 linux 内核版本是 4.1.15-g49efdaa ,架构是 ARMv7 :而编译驱动使用的内核源码版本为 4.1.15 ,架构是 ARMv6 .说明编译驱动使用的内核版本名和架构与板卡中运行的均不一致. root@ALIENTEK-IMX6U:~/get# insmod led.ko [ 1634.442887] led: version magic

  • node-sass安装失败解决方法总结(终有一款适合你)

    目录 前言 解决方法一:使用淘宝镜像源(推荐) 解决方法二:使用 cnpm 解决方法三:创建.npmrc文件 解决方法四:下载 .node 到本地 如果这个 .node 还不能解决用这个方法.直接搞定. 解决方法五:使用梯子 来源 解决办法三,重新配置node-sass 缓存! 解决办法 操作步骤 总结 前言 项目中常常遇到node-sass安装失败,动不动就是报各种错误.以前我一次也没有失败过,自从系统重装我的天呀,node-sass就没有成功过,我能做的node卸载,sass重装各种版,以及

  • Python3.10.4激活venv环境失败解决方法

    环境 python -m venv venv venv\Scripts\activate 激活环境失败 解决方案 输入get-executionpolicy PS D:\flaskBlog> get-executionpolicy Restricted PS D:\flaskBlog> set-executionpolicy remotesigned PS D:\flaskBlog> get-executionpolicy (最后检查是否更改成功) 重启VSCode,执行venv\Scr

  • Mac中Eclipse连不上Android手机的解决方法

    现象是: Windows下Eclipse可以连接Device里能显示设备名称,但是在Mac OS X下的Eclipse Device始终不能显示连接. 解决方法: 1.把Android手机开启调试模式,然后连接在我们的Mac OS上. 2.选择Mac的 关于本机->更多信息-> 系统报告->找到usb选项,右边会出现一系列和usb相关的设备我们找到自己的Android设备并选中. 3.选中后找到 供应商ID或叫厂商ID,我的MX4手机显示的供应商ID是:0x2a45 4.打开Mac终端

  • Docker push镜像失败解决方法

    Docker push镜像失败的问题. 以下是输入push自己的tomcat后出现了失败 [root@slave3 ~]# docker push lekkoliu/tomcat8:latest The push refers to a repository [docker.io/lekkoliu/tomcat8] cefee3f6c961: Preparing 82f021d9c2b9: Preparing 4f91f02b4e49: Preparing a4b3ce7e1d4a: Prepa

  • Android adb 出错解决方法

    1.遇到问题描述: 运行android程序控制台输出 [2012-07-18 16:18:26 - ] The connection to adb is down, and a severe error has occured. [2012-07-18 16:18:26 - ] You must restart adb and Eclipse. [2012-07-18 16:18:26 - ] Please ensure that adb is correctly located at 'D:\

  • oracle客户端PLSQL连接失败解决方法

    上周博客中写了oracle客户端连接服务器的文章,解决了在自己本本上安装的烦恼. 原来自己的电脑与服务器在一个局域网,所以每次都是远程服务器,但是远程也不是解决的办法哈,因为多个人使用同一个服务器,所以使用极其不方便,在自己本本上安装,又比较卡.因此才出现上边博客.嘻嘻,题外话.言归正传. 从家回来,继续我那工作,打开oracle客户端PLSQL,呀,突然连接不上了. 咦,这是怎么回事呢,前几天运转正常哩,回家三四天,咋成这样了呢? 遇到问题,冷静分析其错误,从错误中,可以得知,目标主机,也就是

  • IIS7.5 http 1.1 新建应用程序失败的解决方法

    http 1.1 新建应用程序失败 解决方法很简单: 1.退出IIS重新启动 2.然后点击:应用池程序-DefaultAppPool-重新启动下DefaultAppPool 3.再把网站重新启动下就Ok! 大家可以设置一下应用程序池的自动回收 网站搬家到新服务器,由于服务器环境变化(服务器环境windows 2008+IIS7),导致网站打开asp动态页面就报错:HTTP/1.1新建会话失败:很是苦恼,从来没遇到这等问题. 在网上搜罗了半天还是找不到办法解决,搜索结果出现很多,看到有不少网友遇到

随机推荐