android FAILED Binder Transaction 问题的原因

2023-05-16

今天在做一个widget的时候需要填充一个ImageView,图片来自与网络。 发现都会出现FAILED Binder Transaction这个问题。 通过google得知,原来图片的size不能超过40k。 Activity中ImageView是不会出现这个问题, 但是Widget使用的是remoteViews。 Intent传输的bytes不能超过40k。优其在Intent 中传递图片时,要限制图片小 40K.\


TabHost中使用startActivityForResult无法接收返回值的解决方案

在TabHost的子Activity中startActivityForResult调用其他Activity时候遭遇到onActivityResult方法不响应的问题.

 

解决办法如下:

1.通过父Activity启动其他Activity;

2.实现父Activity的onActivityResult方法,将该处接收到的请求转发给当前活动的子Activity;

3.自定义一个转发接口用来实现第2步中的转发功能;

4.子Activity中实现第3步接口中的方法用来接收返回信息;

 

代码如下:

1.通过父Activity启动其他Activity

代码如下:

1.通过父Activity启动其他Activity


1 getParent().startActivityForResult(new Intent(...), REQUEST_CODE);   

2.实现父Activity的onActivityResult方法


 1 @Override
 2     protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 3         // 获取当前活动的Activity实例
 4         Activity subActivity = getLocalActivityManager().getCurrentActivity();
 5         //判断是否实现返回值接口
 6         if (subActivity instanceof OnTabActivityResultListener) {
 7             //获取返回值接口实例
 8             OnTabActivityResultListener listener = (OnTabActivityResultListener) subActivity;
 9             //转发请求到子Activity
10             listener.onTabActivityResult(requestCode, resultCode, data);
11         }
12         super.onActivityResult(requestCode, resultCode, data);
13     }  

3.自定义接口


/**
 * 解决子Activity无法接收Activity回调的问题
 * @author Administrator
 *
 */
public interface OnTabActivityResultListener {
    public void onTabActivityResult(int requestCode, int resultCode, Intent data);
}  

4.子Activity需要实现onTabActivityResult方法


@Override
    public void onTabActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
            //实现该处逻辑  

        ...
        }
    }  

转载于:http://www.cnblogs.com/relinson/archive/2012/03/25/startActivityForResult.html






本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android FAILED Binder Transaction 问题的原因 的相关文章

随机推荐

  • 解决mybatis 数据库date 与 java 中Date类型映射

    使用mybatis 从数据库中查询出date 类型字段 xff0c 在java 类型中只看到了日期 xff0c 没有看到时分秒 xff0c 从数据库中是可以看到时分秒的 后来发现是mybatis 映射数据类型的原因 xff1a 如 xff1
  • jwt 生成token 和解析token

    lt jjwt version gt 0 6 0 lt jjwt version gt lt fastjson version gt 1 2 16 lt fastjson version gt lt dependency gt lt gro
  • Linux下使用grep,tail 查看查找日志

    有时候日志文件比较大 xff0c 有几G 无法使用工具打开文件 xff0c 这个时候就需要使用命令来查找错误信息 一 tail 命令 例如查看 catalina out 后50行日志 color 61 darkred tail 50f ca
  • 解决redisCluster 连接失败的问题

    使用redis3 2 8 建立集群后 xff0c 发现在连接redis 经常报连接失败 但是单独连接某个节点时 xff0c 是不会报错的 xff0c 经过分析终于发现了原因 原因是这样的 xff1a 我在建立集群的时候配置文件redis c
  • Thymeleaf select 使用 和多select 级联选择

    1 使用select 并且回绑数据 页面 xff1a 状态 xff1a lt select name 61 34 status 34 th field 61 34 status 34 id 61 34 idstatus 34 class 6
  • 防止 XML外部实体注入

    方式一 DocumentBuilderFactory dbf 61 DocumentBuilderFactory newInstance 这是优先选择 如果不允许DTDs doctypes 几乎可以阻止所有的XML实体攻击 String F
  • maven搭建mybatis实现增删改查

    第一章框架的概述 1三层结构 mvc web开发 使用mvc架构模式 m 数据 v 视图 c 控制器 c控制器 xff1a 接收请求 调用service对象 显示请求的处理信息 当前的servlet作为控制器 v 视图现在使用jsp htm
  • html5图片垂直居中

    html5图片居中 主要的思路是用table或者table cell xff0c 还有一种不太了解 xff0c 贴在最后 一 xff1a 显式使用table标签 这是只需要定义内容的CSS样式为table cell的 xff0c 并垂直居中
  • libevent设置超时后取消超时(bufferevent_set_timeouts取消超时无效问题)

    libevent用 bufferevent set timeouts 函数来设置读和写的超时时间timeout xff0c 比如设置读超时时间 xff0c 如果接收超时就会调用设置的错误处理函数 以tcp服务器为例 xff0c 在accep
  • (三) 安装VMware虚拟机

    1 将VMware Workstation Full 12 5 6 5528349 x86 64 bundle上传到服务器上 2 执行bundle文件 cd 到bundle文件目录 给bundle文件加权限 sudo chmod 43 x
  • zabbix 5.4 设置钉钉告警

    我们可以通过创建Webhook类型的报警媒介 xff0c 实现zabbix与钉钉群机器人联动 xff0c 从而达到监控主机的实时告警目的 1 创建钉钉机器人 首先在我们的钉钉运维群中新建一个机器人 打开智能群助手 xff0c 选中添加机器人
  • (六) 远程连接windows虚拟机

    1 设置静态ip 1 在vm网络编辑器中 xff0c 选择VMnet8网卡 xff0c 设置子网IP xff08 要统一网络段的 xff09 选择虚拟机 xff0c 在点击Edit下的Virtual Network Editor 设置静态i
  • (六) 更新glibc版本

    glibc版本太低 xff0c 造成个别脚本会执行报错 xff0c 如下错误 1 查看系统glibc支持的版本 strings lib64 libc so 6 grep GLIBC 可以看到最高只支持2 12版本 xff0c 所以考虑编译解
  • (八)、JMeter使用代理录制App手机端性能测试脚本

    1 环境准备 xff1a 1 手机 2 wifi 3 Jmeter 2 具体步骤 xff1a 1 启动Jmeter xff1b 2 测试计划 中添加 线程组 xff1b 3 工作台 中添加 HTTP代理服务器 xff1b 4 配置代理服务器
  • 五、Python编写接口自动化

    1 总结结果 2 详细代码 xff1a coding utf 8 import requests import json class web requests object def init self pass def Interface
  • 十二、VMware vSphere 6.7虚拟化云管理之12、VCSA6.7更新vCenter Server许可

    1 更新vCenter Server许可 1 许可过期提醒 当我们进入系统时 xff0c 上方会有个明显的提示 xff1a 清单中包含许可证已过期或即将过期的 vCenter Server 系统 从官方下载的都是申请60天试用的 xff0c
  • 十三、VMware vSphere 6.7虚拟化云管理之13、VCSA6.7设置主机许可

    1 添加主机许可 1 进入分配许可 管理您的许可证 许可证 添加新许可 2 输入许可证秘钥 这里的许可证可以直接取esxi上的许可即可 3 编辑许可证名称 4 许可证信息核对 5 许可证添加成功之后 xff0c 信息如下 从灰色 可以得知
  • 十四、VMware vSphere 6.7虚拟化云管理之13、VCSA6.7导入主机集群管理

    1 导入主机集群管理 1 新建数据中心 右键 xff0c 选中数据中心 填写数据中心名称 2 添加主机 xff08 1 xff09 选中数据中心 xff0c 右键 xff0c 之后选择 添加主机 xff08 2 xff09 添加至 vCen
  • 常用自动化测试工具

    1 Appium 官网 xff1a http appium io AppUI 自动化测试 Appium 是一个移动端自动化测试开源工具 xff0c 支持iOS 和Android 平台 xff0c 支持Python Java 等语言 xff0
  • android FAILED Binder Transaction 问题的原因

    今天在做一个widget的时候需要填充一个ImageView xff0c 图片来自与网络 发现都会出现FAILED Binder Transaction这个问题 通过google得知 xff0c 原来图片的size不能超过40k Activ