`

Binding with unknown activity

阅读更多
今天在做项目的时候,用到百度地图的定位service.发现这样的一个奇怪现象,若是单独启动我的需要定位的Activity就能正确定位,若是与同事的代码整合就是整合到他的ActivityGroup里,则无法定位,通过查看logcat会看到以下的信息:
05-09 12:05:40.710: W/ActivityManager(313): Bad activity token: android.os.BinderProxy@422c69d0
05-09 12:05:40.710: W/ActivityManager(313): java.lang.ClassCastException: android.os.BinderProxy cannot be cast to com.android.server.am.ActivityRecord$Token
05-09 12:05:40.710: W/ActivityManager(313): at com.android.server.am.ActivityRecord.forToken(ActivityRecord.java:269)
05-09 12:05:40.710: W/ActivityManager(313): at com.android.server.am.ActivityStack.isInStackLocked(ActivityStack.java:447)

05-09 12:05:40.710: W/ActivityManager(313): at com.android.server.am.ActivityManagerService.bindService(ActivityManagerService.java:11524)
05-09 12:05:40.710: W/ActivityManager(313): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:681)
05-09 12:05:40.710: W/ActivityManager(313): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:1565)
05-09 12:05:40.710: W/ActivityManager(313): at android.os.Binder.transact(Binder.java:297)
05-09 12:05:40.710: W/ActivityManager(313): at com.lbe.security.service.core.internal.d.onTransact(Unknown Source)
05-09 12:05:40.710: W/ActivityManager(313): at android.os.Binder.execTransact(Binder.java:338)
05-09 12:05:40.710: W/ActivityManager(313): at dalvik.system.NativeStart.run(Native Method)
05-09 12:05:40.710: W/ActivityManager(313): Binding with unknown activity: android.os.BinderProxy@422c69d0



通过网上搜索解决方案,找到如下的解决方法
http://blog.csdn.net/tiandiren2007/article/details/7364936

在开发Android程序的过程中,在Activiti中调用bindService方法不成功,查看LogCat,发现有以下警告信息:
3-16 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方法就会出现这样的错误。

解决方法:
       最简单的方法,将bindService改成getApplicationContext().bindService就可以了。


于是按照要求将mLocClient = new LocationClient(this);改成mLocClient = new LocationClient(getApplicationContext());则可以成功地启动定位的service进行定位。
分享到:
评论
2 楼 追求幸福 2013-12-16  
minhphang 写道
我也遇到这个问题,按照你所说的方法修改了,还是不可以,同样的异常。

不好意思,这么晚才回复您!你使用的baidu map sdk是哪个版本,我使用的是2.0.0的,还有你是否也使用了ActivityGroup?
1 楼 minhphang 2013-11-26  
我也遇到这个问题,按照你所说的方法修改了,还是不可以,同样的异常。

相关推荐

    Data Binding with Windows Forms 2.0

    Data Binding with Windows Forms 2.0: Programming Smart Client Data Applications with .NET By Brian Noyes ............................................... Publisher: Addison Wesley ...

    Activity,Fragment,RecyclerView(ViewBinding)封装

    基于ViewBinding,反射简单封装 Activity(ViewBinding,反射进行封装), Fragment(ViewBinding,反射进行封装), RecyclerView(多布局复用单个ViewHolder节省代码逻辑更清晰)

    Data Binding with Windows Forms 2.0 Programming

    This book is all about the what and the why of binding to data sources in a Windows Forms application built using Visual Studio 2005. The book goes into great detail in explaining the rationale behind...

    WPF Data Binding with LINQ to SQL

    These tutorials describe how to map your classes to your tables manually (rather than with an automated tool like SqlMetal) so that you can have support for M:M relationships and data binding against ...

    Data Binding with Windows Forms 2.0 Programming Smart Client Data Applications with .NET

    《Data Binding with Windows Forms 2.0:编程智能客户端数据应用程序与.NET》是一本深入探讨.NET框架下Windows Forms 2.0数据绑定技术的专业书籍。数据绑定是将用户界面(UI)组件与数据源连接的过程,它使得应用...

    C#应用BindingSource实现数据同步的方法

    在C#编程中,`BindingSource`组件是一个非常重要的工具,用于在UI(用户界面)控件和数据源之间建立数据绑定。它提供了一种方便的方式来管理数据的显示、编辑和同步,尤其是在涉及多个控件与同一数据源交互的场景中...

    自定义android开发MVP+ViewBinding架构Demo

    在Demo中,开发者可能使用了`activity_main.xml`等布局文件,然后通过ViewBinding生成的类来直接访问这些视图,如`MainBinding`,这样可以减少NullPointerException,并提高代码的可读性。 使用MVP+ViewBinding架构...

    kotlin对activity和Fragment的简单封装

    "kotlin对activity和Fragment的简单封装"这个主题主要探讨了如何利用Kotlin的特性优化Android应用中的Activity和Fragment的管理,提高代码的可读性和可维护性。以下是关于这个主题的详细知识点: 1. **Kotlin的扩展...

    基于BindingSource的WinForm开发

    在Windows Forms应用开发中,`BindingSource`组件扮演着至关重要的角色,它是连接数据源与UI控件的关键组件。本文将深入探讨`BindingSource`在WinForm开发中的使用,包括其基本概念、功能、以及如何实现主细表绑定、...

    MVVM+ViewBinding+Kotlin入门

    接着,在Activity或Fragment中启用ViewBinding,生成对应的绑定类。在布局XML中定义LiveData对象,并使用Data Binding库进行双向数据绑定。最后,使用Kotlin的特性,如协程来处理异步任务,使代码更易于理解和维护。...

    Android Data Binding

    1. **减少代码**:Data Binding减少了在Activity或Fragment中处理UI事件和数据绑定的代码。 2. **强类型安全**:编译时检查数据绑定表达式,避免运行时错误。 3. **解耦**:MVVM架构使得UI和数据逻辑分离,有利于...

    WPF的binding代码实例

    在这个“WPF的binding代码实例”中,我们将深入探讨几个基础的绑定用法,帮助开发者更好地理解和应用这一特性。 1. **基本绑定语法** WPF中的数据绑定通常使用`{Binding}`标记来实现。例如,一个`TextBlock`控件的...

    win32-ia-32-48_binding.node插件去掉node不报错

    win32-ia-32-48_binding.node插件去掉node不报错win32-ia-32-48_binding.node插件去掉node不报错win32-ia-32-48_binding.node插件去掉node不报错win32-ia-32-48_binding.node插件去掉node不报错win32-ia-32-48_...

    wpf binding 的两种方法

    2. **创建绑定(Binding)**:接着,为需要绑定的控件属性创建一个`Binding`对象,指定要绑定的数据源属性。 ```csharp myTextBlock.SetBinding(TextBlock.TextProperty, new Binding("MyDataProperty")); ``` ...

    C# MVVM Binding demo

    <DataGridTextColumn Header="Publication Date" Binding="{Binding PublicationDate, StringFormat='{}{0:yyyy-MM-dd}'}" /> <Button Content="Add Book" Command="{Binding AddBookCommand}" /> ``` **视图...

    EFI Howto:Driver binding的实质

    EFI驱动模型与Windows驱动模型的比较和Driver Binding的实现 本文主要介绍了EFI驱动模型的概念,特别是Driver Binding的实现过程,同时借鉴了Windows驱动模型的一些概念,以便更好地理解EFI驱动模型。 首先,我们...

    win32-x64-51-57-59-64-67-72-79-83-binding.node多版本.zip

    标题中的"win32-x64-51-57-59-64-67-72-79-83-binding.node多版本.zip"揭示了这是一份包含多个版本的`binding.node`模块的压缩包。`binding.node`在IT行业中,特别是Node.js的上下文中,是一个关键的概念,它是Node....

    鸿蒙应用开发view-binding插件,消除findComponentById模版代码

    在鸿蒙应用开发中,`View Binding` 是一种强大的工具,它可以帮助开发者摆脱传统的 `findComponentById` 模板代码,提升代码的可读性和可维护性。`View Binding` 技术通过编译时的代码生成,为每个界面组件创建对应...

Global site tag (gtag.js) - Google Analytics