Android开发:Binding with unknown activity错误解决方法

时间:2022-09-03 22:52:56

在开发Android程序的过程中,在Activiti中调用bindService方法一直返回false,查看LogCat,发现有以下警告信息:
09-21 13:27:08.729: WARN/ActivityManager(66): Binding with unknown activity: android.os.BinderProxy@45087d60


如果出现了上面的警告信息,那么很有可能,你使用了一个ActivityGroup的子类,用来显示一些标签页。并且在标签页,也就是Activity中调用类似以下的代码:
bindService(intent, connection, Context.BIND_AUTO_CREATE);

 

查找了相关资料,似乎这是Android的一个bug,当在一个作为标签页显示的Activity中调用bindService方法就会出现这样的错误。

 

解决方法:
1.最简单的方法,将bindService改成getApplicationContext().bindService就可以了。
2.使用Activity.getParent()得到ActivityGroup的引用作为上下文调用bindService(方法2未经试验)。