zoukankan      html  css  js  c++  java
  • [Android]在App中使用相机

    如果要在自己的应用中实现拍照的功能,首先要在AndroidManifest.xml文件中添加权限:

    <uses-permission android:name="android.permission.CAMERA"/>  

    启动相机的方法非常简单,通过intent访问MediaStore.ACTION_IMAGE_CAPTURE

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    startActivityForResult(intent, 1);

    拍照并确认后,Activity的onActivityResult方法会被调用,在这里可以获取图片的数据。

    onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 1) {
            if (resultCode == RESULT_OK) {
                Bitmap bmPhoto = (Bitmap) data.getExtras().get("data");
                // You can set bitmap to ImageView here
            }
        }
    }

    用这种方法,会发现获取的Bitmap很小,这其实是拍下的图片的缩略图。

    如果想获取原始的大图,推荐的方法是在启动相机前先指定好图片的文件地址,通知intent,同时也保留在成员变量中。

    然后在onActivityResult函数中,可以直接打开该文件。

    第一段代码做如下修改:

    String sFileFullPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.jpg";
    File file = new File(sFileFullPath);
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
    startActivityForResult(intent, 1);
  • 相关阅读:
    jquery easyui 时间控件的使用
    3101 php 学习推荐
    报到
    《C++语言的设计和演化》摘录
    怀念下以前听摇滚乐的日子
    Maven無法下載依賴時的解決方案
    RDF和Jena RDF API入门(2)
    WEB数据挖掘(五)——Aperture数据抽取(1)
    RDF和Jena RDF API入门(1)
    Ubuntu SVN安装配置十分简单
  • 原文地址:https://www.cnblogs.com/noodlesonce/p/4067389.html
Copyright © 2011-2022 走看看