android真机上拍照后显示问题

最近在调用android系统拍照功能时,将拍出的照片在显示到ImageView上时,在模拟器上是正常的,可到了真机,死活显示不出来,后来经过多方查证终于调试好了。

1、要重载onConfigurationChanged事件,阻止调用相机后原本的Activity重新OnCreate,如果重新  OnCreate会导致ImageView上的照片被原本图片取代。

2、拍的照片长和宽和真机显示是相反的。同时照片必须经过压缩才好放到ImageView上。

3、如果调用相机时用了intent.putExtra(MediaStore.EXTRA_OUTPUT, uri),那么在OnActivityResult里的data就得不到数据。如果没有指定就能得到数据。

时间: 2024-10-31 14:10:43

android真机上拍照后显示问题的相关文章

iOS 真机上图标不显示

今天在调试时发现模拟器上图标显示了.但真机上测试时发现图标不显示. 解决办法 57*57  的图标然后命名为: Icon.png 这样显示就正常了. 参考资料:http://www.cnblogs.com/niit-soft-518/p/4078476.html

[转]Fiddler抓取Android真机上的HTTPS包

此篇文章转载自:http://blog.csdn.net/roland_sun/article/details/30078353 工作中经常会需要对一些app进行抓包, 但是每次默认都是只抓http请求的包, 按照这篇文章设置之后就可以抓https的包了, 简单实用, 所以转载过来备用. 现在的Android应用程序几乎都会和网络打交道,所以在分析一个apk的时候,如果可以抓取出其发出的数据包,将对分析程序的流程和逻辑有极大的帮助. 对于HTTP包来说,已经有很多种分析的方法了,例如用tcpdu

Fiddler抓取Android真机上的HTTPS包

现在的Android应用程序几乎都会和网络打交道,所以在分析一个apk的时候,如果可以抓取出其发出的数据包,将对分析程序的流程和逻辑有极大的帮助. 对于HTTP包来说,已经有很多种分析的方法了,例如用tcpdump,或者将要分析的程序跑在模拟器中然后直接在物理机上用WireShark抓包.但是现在越来越多的应用已经使用HTTPS协议来和服务器端交换数据了,这无疑给抓包分析增加了难度. 幸好有一个工具Fiddler可以用来解决这个问题.Fiddler是一个非常强大的Web调试工具,它的原理不同于W

unity在android真机上的调试

做unity一段时间了,一直耳闻unity可以在android上真机调试,挂念了好久,总算成功调试了. 网上相关资料感觉很少,特此记录分享. 过程如下: 1.打android版本包,需要注意的是要勾选debug的那三个选项勾,分别是development build, antoconnect profiler(连接剖析器),script debugging(脚本调试) 2.在android上运行程序,不运行的话,unity profiler和mono无法找到程序. 3.此时打开unity edi

Android自动更新安装后显示‘完成’‘打开’按钮

1 /** 2 * 安装apk 3 * 4 * @param url 5 */ 6 private void installApk() { 7 File apkfile = new File(apkFilePath); 8 if (!apkfile.exists()) { 9 return; 10 } 11 Intent i = new Intent(Intent.ACTION_VIEW); 12 i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 13 i.s

解决android有的手机拍照后上传图片被旋转的问题

转至 http://blog.csdn.net/walker02/article/details/8211628 需求:做仿新浪发微博的项目,能够上传图片还有两外一个项目用到手机拍摄图片,这两个都需要把图片上传到服务器 遇到问题:有的手机拍摄的图片旋转90度,有的图片旋转了180度,有的手机是正常的,服务器要求的是正的,这样问题就来了,不能用户发个照片在微博上看到的是被旋转了的啊,另外一个项目里旋转了的图片直接匹配出现问题,这个更严重. 解决:开始的时候在网上没有找到很好的解决办法,谷歌百度的搜

导出android真机上应用的apk文件

1. 首先你的手机要开启调试模式 2. 终端输入命令行 (这个时候需要在手机端打开此应用.它的思路是抓取出当前窗口的包名.以下命令操作自己未亲自验证.) adb shell dumpsys window | grep "应用名"adb shell pm path packagename adb pull apkpath . (adb pull /data/app/packagename/base.apk .)

cocos2d-x 不能在android真机debug的问题

最近在做cocos2d-x开发的时候,发现在android真机上不能调试C++代码,显示如下警告信息 Ignoring packet error, continuing... warning: unrecognized item "timeout" in "qSupported" response 经过尝试,最后发现关闭AndroidServer.exe进程后,就能顺利的DEBUG了

通过adb shell操作android真机的SQLite数据库

要通过命令行直接操作android真机上的SQLite数据库,可以直接通过adb shell来完成,不过,前提是必须获得root权限. 另外,android系统其实就是linux的shell,这个应该大家都知道,不过一般情况下,在/system/xbin/目录下, 没有sqlite3命令,需要手动copy一个进去,通常情况下,需要两个文件 sqlite3.libncurses.so 解压后两个文件都有了,比如解压到:~/Downloads/sqlite3/ 然后就是通过下面的这些个命令,一步一步