Android手机拍照.剪裁,并非那么简单 简书地址:[我的简书–T9的第三个三角] 前言 项目中,基本都有用户自定义头像或自定义背景的功能,实现方法一般都是调用系统相机–拍照,或者系统相册–选择照片,然后进行剪裁,最终设为头像或背景. 而在Android6.0之后,需要动态获取权限,而且Android7.0之后,无法直接根据拍照返回的URI拿到图片,这是因为从安卓7.0开始,直接使用本地真实路径被认为是不安全的,会抛出FileUriExposedExCeption异常,本文就是基于这个功能去针…
版权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下调用系统相机拍照: 如果拍照后点击的是“确定”图标,返回的resultCode = -1(Activity.RESULT_OK): 如果点击的是底部的“返回”键,返回的resultCode = 0(Activity.RESULT_CANCELED). 简单的调用系统相机的写法: //调用系统拍照 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); String p…
一.写在前面 前几天也是分享了一些学习必备干货(还没关注的,赶紧入坑:传送门),也好久没有与大家探讨技术方案了,心里也是挺痒痒的,这不,一有点闲暇之时,就迫不及待把最近测出来的坑分享给大家. 提起Android调用系统相机拍照上传图片或者是显示图片,想必任何一位开发Android的朋友都不会陌生,基本这个功能已经涵盖各个应用了,今天,我就来给大家聊聊网上并不多见却有经常听到大家吐槽的问题. 二.拍照功能实现 对于拍照功能的实现方式我这里就不多谈了,无非两种,一种是利用相机的API来自定义相机,另…
package com.example.testhttpget; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.…
系统已经有的东西,如果我们没有新的需求的话,直接调用是最直接的.下面讲讲调用系统相机拍照并保存图片和如何调用系统相册的方法. 首先看看调用系统相机的核心方法: Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(camera, CAMERA); 相机返回的数据通过下面的回调方法取得,并处理: public static final int CAMERA  = 0x01; @Over…
概述 最近在看 nanChen 写的图片选择器 ImagePicker,感觉写得很不错,也打算把从中学到的东西写下来.很多时候,遇到一个好的框架能够降低开发成本这是好事.但是也要去了解其内部具体实现逻辑,说不定哪天你需要完成一个类似的小功能,你知道原理就能快速写出来,而不是引入整个框架. 本文讲其中的第一个功能:如何调起手机的相机拍照? 系统现有相机应用 对于如何调用系统现有应用,这里简单再说一下.在开发的应用中调用系统现有应用,需要使用 Intent 指定开启的应用的 Action 和 Cat…
  好吧,为了这个问题又折腾了一整天.之前在网上找来的方法,如果在onActivityResult中直接用data.getData()的方式来生成bitmap,其实获取的是拍照生成的缩略图!看看尺寸就知道了.如果要获取原图,还需要一番折腾(特别是对于手里这个Samsung i9000)——之前朋友在不同的机型上使用的方法在我这里一直报错,且属于那种uncaught的错误-.- 话说回来,具体的折腾方法如下(如果不幸你看到了,希望不要“折疼了”): 在拍照的出发按钮的点击事件中写入如下代码: to…
保存图片小的一般操作步骤: 1. 调用系统相机 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, 1); 2. 保存照片 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {  // TODO Auto-generated method s…
参考链接: 拍照  |  Android Developers, Android相机拍照方向旋转的解决方案:ExifInterface - 简书 Demo链接:https://pan.baidu.com/s/1B-dvdcLqTlKlTXEhTgvJHA,提取码:zere…
两个内存段 在同一个进程空间中dlopen一个.so文件,理论上在内存中是同一片区域,但实际调试中发现Android7.0(read "/proc/self/maps")中,先后读同一个.so内存中居然出现两个段! 这在低版本Android(比如4.x)中不曾出现. 如下一些blog中分析,与Android7.0对dlopen的改写有关,可能是不同命名空间下读取结果不一样,可能是对安全性的提升. Android 7.0 行为变更 NDK 应用链接至平台库 Android 7.0 dlo…
extends:http://blog.csdn.net/b275518834/article/details/42347903 BUG具体体现为 : (1) 摄像头拍照后图片数据不一定能返回 ; onActivityResult的data为空 (2) 三星的camera强制切换到横屏 导致Activity重启生命周期 (但是部分机型 配置 android:configChanges 也不能阻止横竖屏切换); String fileUrl ; @Override protected void o…
第一步:调用相机 Intent getImageByCamera = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE); String path = Environment.getExternalStorageDirectory() + "/path"; File f = new File(path); if (!f.exists()) { f.mkdirs(); } String fileName = Syst…
[java] view plaincopyprint? <span style="font-size:18px;">package com.demo; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import…
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Calendar; import java.util.Locale; import android.annotation.SuppressLint; import android.app.Activity; import an…
package com.pingyijinren.test; import android.annotation.TargetApi; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.ContentResolver; import android.content.Intent; impo…
1 http://www.cnblogs.com/franksunny/archive/2011/11/17/2252926.html 2 http://www.cnblogs.com/vir56k/archive/2012/10/24/2737119.html 3 http://blog.30c.org/2798.html…
开发中我们常须要通过相机获取照片(拍照上传等).一般通过调用系统提供的相机应用就可以满足需求:有一些复杂需求还须要我们自己定义相机相关属性,下篇我们会涉及到. 首先我们来研究怎样简单调用系统相机应用来获取照片 GitHub地址:CameraDemo 调用系统相机获取照片基本上涉及下面三个过程: 1.启动系统相机拍照 2.获取拍摄到的图片 3.图片处理 下面是详细编码过程 Camera Permission 我们要使用系统相机,首先须要在Manifest中声明 <Manifest> <us…
本文实现android系统照相机的调用来拍照 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig…
一.写在前面 最近由于廖子尧忙于自己公司的事情和OkGo(一款专注于让网络请求更简单的网络框架) ,故让LZ 接替维护ImagePicker(一款支持单.多选.旋转和裁剪的图片选择器),也是处理了诸多bug,最近总算趋于稳定了,这里就把Android N (API 24) 以上的相机适配方案分享给大家. Android Nougat 也是被更新很久了,作为一名 Andorid 开发者,我们有义务时刻准备自己调整 targetSdkVersion 为最近的一个,于是从之前的 23 直接提高到了 2…
一.写在前面 最近由于廖子尧忙于自己公司的事情和 OkGo (一款专注于让网络请求更简单的网络框架) ,故让LZ 接替维护 ImagePicker(一款支持单.多选.旋转和裁剪的图片选择器),也是处理了诸多bug,最近总算趋于稳定了,这里就把Android N (API 24) 以上的相机适配方案分享给大家. Android Nougat 也是被更新很久了,作为一名 Andorid 开发者,我们有义务时刻准备自己调整 targetSdkVersion 为最近的一个,于是从之前的 23 直接提高到…
前言 最近Android对于文件的许多方法进行了修改,网络上又没有对Android4到Android11关于系统相机.系统相册和系统裁剪的适配方案,我花了几天事件总结了一下,先上源码 DEMO源码 先对Android的文件系统进行一个初步的总结: 在AndroidQ(Android10)以前,Android的文件系统并不是特别的严格,各个app可以获取到各个位置的文件的路径,安全性非常差. 在AndroidQ以后,文件系统进行了改革,使用了分区储存模式(Scoped Storage),也叫沙盒模…
在常规应用开发过程中,我们经常会使用到手机的相机功能,通过调用系统相机方便快捷的帮助我们实现拍照功能,本篇我将带领大家实现一下,如何通过调用系统相机实现拍照. 第一种:调用系统相机拍照,通过返回的照片缩略图展示我们的拍照图片 打开系统相机: Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(intent, TAKE_PICTURE);// 如果用Activity.RESULT_O…
// 调用相机拍照的请求码 public static final int REQUEST_TAKE_PHOTO_CODE = 1; public static final int REQUEST_TAKE_PHOTO_CODE2 = 2; // 拍照后显示图片的ImageView private void startTakePhoto2() { // 启动系统相机 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); // 启…
前言 在很多场景中,都需要用到摄像头去拍摄照片或视频,在照片或视频的基础之上进行处理.但是Android系统源码是开源的,很多设备厂商均可使用,并且定制比较混乱.一般而言,在需要用到摄像头拍照或摄像的时候,均会直接调用系统现有的相机应用,去进行拍照或摄像,我们只取它拍摄的结果进行处理,这样避免了不同设备的摄像头的一些细节问题.本篇博客将介绍在Android应用中,如何调用系统现有的相机应用去拍摄照片与短片,并对其进行处理,最后均会以一个简单的Demo来演示效果. 本篇博客的主要内容如下: 系统现…
调用系统相机拍照: private Button btnDyxj; private ImageView img1; private File tempFile; btnDyxj = (Button) findViewById(R.id.btnXj); img1 = (ImageView) findViewById(R.id.img1); private void camera() { // 判断存储卡是否可以用,可用进行存储 if (hasSdcard()) { File dir = new F…
新特性部分 Android 7.0 Nougat 提供新功能以提升性能.生产效率和安全性,主要新增了下面的新特性和优化: 一.新的Notification Android N 添加了很多新的notifications API,进行了又一次的设计,引入了新的风格. 模板更新: 开发人员将能够充分利用新模板,仅仅需进行少量的代码调整. 消息样式自己定义: 新增自己定义样式.消息回复.消息分组等更加灵活. 捆绑通知: 系统能够将消息组合在一起(比如,按消息主题)并显示组.用户能够适当地进行 Dismi…
本文出自:贾鹏辉的技术博客(http://www.devio.org) http://www.devio.org/2016/09/28/Android7.0%E9%80%82%E9%85%8D%E5%BF%83%E5%BE%97 Android7.0发布已经有一个多月了,Android7.0在给用户带来一些新的特性的同时,也给开发者带来了新的挑战,这几天我将应用适配到Android7.0,其中也遇到了不少问题也踩了一些坑,在这里就把我在Android7.0适配上的一些心得分享给大家,让大家的应用…
技术内容:分别读取相册以及调取相机,将图片显示到imageView上 布局: 1.创建imageView 和 button 并为button一个关联pickerImage的事件 <div style="text-align: left;"><span style="font-family: Helvetica; -webkit-text-stroke-width: initial;"> self.aImageView = [[UIImageV…
android升级到7.0后对权限又做了一个更新即不允许出现以file://的形式调用隐式APP,需要用共享文件的形式:content:// URI 因为系统相机是提供的共享 Provider , ContentValues contentValues = new ContentValues(1); contentValues.put(MediaStore.Images.Media.DATA, mTmpFile.getAbsolutePath()); Uri uri = getContext()…
这两天撸了一个需求,通过 JS  调用手机后置相机,进行拍照扫码.前台实现调用手机相机,然后截取图片并上传到后台的功能.后台接收传过来的图片后,通过调用开源二维码识别库 ZXing 进行二维码数据解析.刚开始在电脑上截图,上传到后台进行识别,测试了几个没有问题.但是发布外网后,一直解析失败.我把手机拍的照片,放到电脑上也是识别不了.后来通过对比图片,发现手机拍的照片有15M大.怀疑是图片过大导致解析二维码失败,才想着把图片无损压缩后再进行二维码识别,压缩后果然见效. 1.图片无损压缩方法 ///…