Android 7.0 获取相机拍照图片,适配三星手机拍照,解决三星手机拍照屏幕旋转,判断设备是否有摄像头

方法1

新建/res/xml/file_paths:

 

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android"><external-path name="external_files" path="."/>
</paths>

配置manifest文件

 

 

<providerandroid:name="android.support.v4.content.FileProvider"android:authorities="com.hunuo.yohoo.provider" //com.hunuo.yohoo=包名android:exported="false"android:grantUriPermissions="true"><meta-dataandroid:name="android.support.FILE_PROVIDER_PATHS"android:resource="@xml/provider_paths"/>
</provider>

开始拍照

Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //系统常量, 启动相机的关键
startActivityForResult(openCameraIntent, REQUEST_CODE_TAKE_PICTURE); // 参数常量为自定义的request code, 在取返回结果时有用

 

拍照返回图片

  Bitmap bm = (Bitmap) data.getExtras().get("data");
//            savePath = FileUtil.saveBitmap(bm);sczimage.setImageBitmap(bm);

裁剪图片

    private void crop(file filePhoto) {
//        cropImagePath = file.getAbsolutePath();Intent intent = new Intent("com.android.camera.action.CROP");intent.setDataAndType(getImageContentUri(filePhoto), "image/*");intent.putExtra("crop", "true");intent.putExtra("aspectX", 300);intent.putExtra("aspectY", 300);intent.putExtra("outputX", 300);intent.putExtra("outputY", 300);intent.putExtra("scale", true);intent.putExtra("return-data", false);intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(filePhoto));intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());intent.putExtra("noFaceDetection", true);startActivityForResult(intent, RESULT_REQUEST_CODE);}

3、解决三星手机拍照屏幕旋转问题

在activity下面添加

<activity android:name=".activitys.SfzShiBieActivity"
    android:configChanges="keyboardHidden|orientation|screenSize"></activity>
 

 

或者

 

解决办法2:

在Application的onCreat()方法中添加以下代码:

        // android 7.0系统解决拍照的问题StrictMode.VmPolicy.Builder builder = new StrictMode.VmPolicy.Builder();StrictMode.setVmPolicy(builder.build());builder.detectFileUriExposure(); 

 

判断相机

CameraManager manager = (CameraManager) getContext().getSystemService(Context.CAMERA_SERVICE);
String[] cameraIds = new String[0];
try {cameraIds = manager.getCameraIdList();
} catch (CameraAccessException e) {e.printStackTrace();
}
if (cameraIds != null && cameraIds.length > 0) {}else {showMyToast("请接入摄像头!");
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415989.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UVA - 10079 Pizza Cutting

/* 主要是画图&#xff0c;画很多图&#xff0c;找规律&#xff0c;找到规律以后&#xff0c;发现算是简单题思路的关键是&#xff1a;每次切割都与前(i-1)刀有交点的情况下&#xff0c;得到的块数是最大的 */ #include <iostream> typedef long long ll; using nam…

Win XP必须禁止的服务

1.NetMeeting Remote Desktop Sharing&#xff1a;允许受权的用户通过NetMeeting在网络上互相访问对方。这项服务对大多数个人用户并没有多大用处&#xff0c;况且服务的开启还会带来安全问题&#xff0c;因为上网时该服务会把用户名以明文形式发送到连接它的客户端&#xff0c…

nuxt2.0 设置 webpack 路径别名

如果想在nuxt中直接使用其他文件的路径&#xff0c;比如下面的components&#xff0c;我们需要在nuxt.config.js进行配置即可。 import SiteHeader from components/site/SiteHeader.vuebuild: {/*** You can extend webpack config here*/extend(config, ctx) {// Run ESLint…

算法前戏 递归 二分查找 列表查找

一、递归 概念&#xff1a; 函数直接或者间接的调用自身算法的过程&#xff0c;则该函数称为递归函数。在计算机编写程序中&#xff0c;递归算法对解决一大类问题是十分有效的。 特点&#xff1a; ①递归就是在过程或者函数里调用自身。 ②在使用递归策略时&#xff0c;必须有一…

nuxt中必须要知道的一点 关于 nuxt-link 和 a 标签的区别

在nuxt项目中可以有两种方式进行路由跳转 1、使用nuxt-link标签 <nuxt-link to"/shop/cart">购物车</nuxt-link>2、使用a标签 <a href"/shop/cart">购物车</a>这两个的区别是 nuxt-link还是在现在的体系中进行加载 a相当于另外打…

android 多选项实现

建集合 private ArrayList<Integer> selectpositionnew ArrayList<>();//Integer可换任何类型 选中就添加入集合 public void onChoose(final int position){selectposition.add(position); } 取消则移除集合 public void onNoChoose(final int position){try {sel…

TCP/IP完整的基础介绍

TCP/IP应该是个协议集&#xff0c;根据OS的七层理论&#xff0c;TCP/IP分为四层&#xff0e;分别是应用&#xff0c;传输&#xff0c;Interne和网络界面&#xff0e; 我们一般说TCP在传输层&#xff0c;而IP在Internet层&#xff0e;TCP/IP的应用程序包括我们平时经常用到的Pin…

使用nuxt

Nuxt.js简单介绍 2016 年 10 月 25 日&#xff0c;zeit.co 背后的团队对外发布了 Next.js&#xff0c;一个 React 的服务端渲染应用框架。几小时后&#xff0c;与 Next.js 异曲同工&#xff0c;一个基于 Vue.js 的服务端渲染应用框架应运而生&#xff0c;我们称之为&#xff1…

配置HAProxy支持https协议

author&#xff1a;JevonWei版权声明&#xff1a;原创作品 实现http重定向到https HAProxy 创建CA证书 [rootHAProxy ~]# cd /etc/haproxy/ [rootHAProxy haproxy]# mkdir certs [rootHAProxy haproxy]# cd /etc/pki/CA [rootHAProxy CA]# (umask 077;openssl genrsa -out priv…

android 万能倒计时,时分秒倒计时

1、工具类 /*** 作者&#xff1a;created by meixi* 邮箱&#xff1a;15913707499163.com* 日期&#xff1a;2018/12/28 15*/public class TimerUtil {private static final int nHandlerMsg 23566124;private int nStartDelayTime;private int nIntervalTime;private Timer …

菜鸟必备的网络命令

对于菜鸟的我来讲很有保存价值开始菜单中的“运行”是通向程序的快捷途径&#xff0c;输入特定的命令后&#xff0c;即可快速的打开Windows的大部分程序&#xff0c;熟练的运用它&#xff0c;将给我们的操作带来诸多便捷。 winver 检查Windows版本 wmimgmt.msc 打开Windows管理…

实现瀑布流的核心代码

.warp {column-count: 2;column-gap: 10px;padding: 5px; }.item {height: 80px;margin-bottom: 10px;break-inside: avoid; }效果如下

Mac OS X Terminal 101:终端使用初级教程以及Xcode

转自 http://www.renfei.org/blog/mac-os-x-terminal-101.html 最近学习苹果认证的《Mac OS X Support Essentials》教程&#xff0c;看到 Command Line 一节有很多实用的知识&#xff0c;下面选取一部分翻译 笔记&#xff0c;整理成此文。 你可以整天驾驶汽车而不用知道如何修…

android studio 获取SHA1值 MD5值

运行CMD 输入 cd .android 回车 输入 keytool -list -v -keystore D:/yohoo.keystore -storepass android 回车 D:/yohoo.keystore------就是你的keystore的位置 &#xff0c; android------- 就是你的keystore的密码 如果提示keytool 不是内部命令或可运行程序。需先配…

修改远程端口

怎么更改远程桌面3389端口号才能使用服务器更加安全?一些黑客常常利用远程服务器桌面的3389端口进行入侵,因此我们有必要学会如何更改远程桌面的端口号来保护自己. 远程终端服务基于端口3389。入侵者一般先扫描主机开放端口&#xff0c;一旦发现其开放了3389端口&#xff0c;就…

MongoDB 常用运算符

$eq (等于) $gt > (大于) $gte > (大于等于) $lt < (小于) $lte < (小于等于) $ne ! (不等于) $in in (in) $nin !in (not in) 参考&#xff1a;https://docs.mongodb.com/manual/reference/operator/query/ $eq 语法&#xff1a; { <field>: { …