测试环境简介:CTS verifier apk是对应Android N的版本。系统是Android N。

         测试项名称:camera support cross profile video capture (without extra output path)
         测试过程:点击该项测试时,会调用到手机中安装的相机拍摄视频。拍摄视频后返回到CTS verifier apk的界面进行视频播放。如果能够正常拍摄及播放视频,则该测试项通过;否则,该测试项fail。
          测试结果:能够正常拍摄视频,但是拍摄后回到CTS verifier apk界面不能正常播放,提示“cann't play the video”。
问题分析:仔细读该测试项的名字,cross profile的意思是跨工作资料,这里的工作资料应该是指跨应用程序。用"exception"为关键词搜索发生该问题的log,可能会发现的Log有“Security Exception”、“Permission Denial”,"can't read the uri"等。这些关键词告诉我们是由于权限问题导致了视频的uri读取不了所以导致视频不能播放。
          解决方案:Android N增加了应用间文件共享的权限检查,通过uri分享文件变得更加严格。我们可以想到,CTS verifier apk先是通过startActivityForResult启动了相机应用拍摄视频。而相机应用会把拍摄下来的视频的uri通过函数 setResut(int resultCode, Intent intent)返回给CTS verifier应用。这里就涉及到了跨应用的文件共享。这里会将uri数据存储到intent中。在Android N之前的系统这么写是没有问题的,而由于新增加了安全检查,如果是Content Uri,这里要在相机应用里给intent加一个flag以授予读取权限。
          intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);

通过增加该flag,CTS verifier即可正常访问uri。该测试项也就能pass了。

上述方法只能针对Uri是Content Uri的情况,如果是File Uri,就需要用到FileProvider将File类型的Uri转换成Content Uri,再通过上述方式授予读取权限。具体转换方式网上有很多描述的文章,这里不再赘述。

感谢你的阅读,欢迎你也能访问我的网易博客。

Android N系统CTS verifier中cross profile相关测试项fail的解决方案相关推荐

  1. 小米6刷android p,小米6升级Android P系统,随后还将新增多项新功能

    原标题:小米6升级Android P系统,随后还将新增多项新功能 随着本月初谷歌方面在本月推出全新的Android Q系统之后,已经向全新的Pixel 3a系列上加持,随后还将有和大手机品牌跟进.为老 ...

  2. camera相机 its_[Android] Camera ITS/CTS Verifier测试

    ITS:Android Camera Imaging Test Suite / CTS Verifier Android相机成像测试套件,属于CTS测试的一部分 ITS是一个测试框架,用于在camer ...

  3. [Android GMS 认证] CTS Verifier 测试结果的迁移

    有时候测试完大部分项目而由于测试机的硬件缺陷,无法通过某些项目,可以把测试结果进行迁移,备份恢复到另一台机器然后出报告. adb backup -f com.android.cts.verifier. ...

  4. android 副mic测试,【收藏】Android Audio Framework CTS Verifier 测试方法

    This new suite of tests requires human intervention and some external hardware including a Loopback ...

  5. android 默认中文时区,修改android默认系统语言为中文和时区

    原始的android代码,系统默认语言是英文,一般来说需要改成默认中文,修改的方法很多: 1.修改PRODUCT_LOCALES字段, 将要选择的语言放在第一位,如: PRODUCT_LOCALES ...

  6. Android 从系统媒体库中选择视频

    只需两步: 第一步:发送Intent action.会在onActivityResult方法中返回选中视频的uri: Intent i = new Intent(Intent.ACTION_PICK, ...

  7. Android Studio系统状态栏,设置setSmallIcon通知图标无效问题及解决方案

    关于设置setSmallIcon通知图标无效问题 [分析] targetSdkVersion 是 Android 系统提供前向兼容的主要手段(即:新版本SDK手机兼容旧版本SDK工程).这是什么意思呢 ...

  8. 【转】Android兼容性测试CTS Verifier-环境搭建、测试执行、结果分析

    原文网址:http://www.cnblogs.com/zh-ya-jing/p/4452675.html CTS Verifier算是CTS的一部分,需要手动进行,主要用于测试那些自动测试系统无法测 ...

  9. android log系统

    转载自http://blog.csdn.net/Luoshengyang/article/category/838604/3 Android系统开发中LOG的使用 在程序开发过程中,LOG是广泛使用的 ...

最新文章

  1. Velodyne VLP-16激光雷达数据分析
  2. DrawIcon 和 DrawIconEx都失真
  3. 04-spring的依赖注入
  4. phpthink 隐藏index.php,nginx 配置--支持phpthink框架 path_info
  5. centos nginx不是命令_虚拟机下Centos 8.0 安装PHP+Mysql+Nginx
  6. vc++6.0 同步本机时间到Internet NTP服务器 编译通过
  7. 如何配note,打补丁
  8. ACdream 1431 Sum vs Product
  9. intellijidea课程 intellijidea神器使用技巧 6-1 Spring的关联
  10. [css] 请使用css3实现图片的平滑转换
  11. RabbitMQ从入门到精通
  12. JavaScript的调用栈、回调队列和事件循环
  13. mysql安装过程遇到的问题_个人在mysql安装过程中遇见的问题
  14. Concept Drift(概念漂移)
  15. java writer 乱码_Java servlet 使用 PrintWriter 时的编码与乱码
  16. 计算机组装维护理论知识大全,计算机组装与维护知识汇总.docx
  17. POI导入Excel文档试题案例
  18. python获取cpu温度 window_使用python从windows10运行系统读取CPU温度
  19. Python 猴子补丁
  20. pandas学习之电影评分(利用python进行统计分析)的学习笔记

热门文章

  1. WIFI模块AT指令配置模块连接路由向公网发送数据(花生壳内网穿墙)
  2. nginx html伪静态文件,nginx伪静态排除指定目录伪静态规则设置
  3. 有玩龙之谷冰龙版游戏的吗,最近找到一个新开的怀旧服,很耐玩的公益服,不变态
  4. abp mysql 数据库 Failed executing DbCommand (0ms) [Parameters=[], CommandType='Text', CommandTimeout='3
  5. 心宽能看淡,心善能释怀
  6. 记一次feign请求,开发环境第一次访问一直超时的问题
  7. Android Studio实现设备截屏
  8. 打磨程序员的专属利器——快捷键
  9. 一招教你提高Github Desktop下载速度
  10. 计算机里常用的二/八/十/十六进制