标签: android-camera-intent

无需用户互动即可自动拍照

我用这段代码从相机中捕捉图像.

package android.takeowneship;


import java.io.File;

import android.app.Activity;
import android.content.ContentValues;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.widget.ImageView;
import android.widget.Toast;


public class camera extends Activity{


    private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;

    Uri imageUri;
    private ImageView imageView;

     @Override
        public void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);

          //define the file-name to save photo taken by Camera activity
            String fileName = "new-photo-name.jpg";
            //create parameters for Intent with filename
            ContentValues values = new ContentValues();
            values.put(MediaStore.Images.Media.TITLE, fileName);
            values.put(MediaStore.Images.Media.DESCRIPTION,"Image capture …
Run Code Online (Sandbox Code Playgroud)

camera android android-camera-intent

15
推荐指数
1
解决办法
3万
查看次数

使用Android原生相机停止保存照片

我正在使用原生Android相机并将文件保存到我的应用程序数据文件夹(/mnt/sdcard/Android/data/com.company.app/files/Pictures/).同时,其他照片副本保存到DCIM文件夹.

这是我的代码:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
String formattedImageName = getDateString() + ".jpg";
File image_file = new File(this.getExternalFilesDir(Environment.DIRECTORY_PICTURES), formattedImageName);
Uri imageUri = Uri.fromFile(image_file);
intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
startActivityForResult(intent, REQUEST_FROM_CAMERA);
Run Code Online (Sandbox Code Playgroud)

如何防止将其他图像副本保存到DCIM文件夹?

非常感谢

android native android-sdcard android-camera android-camera-intent

13
推荐指数
3
解决办法
2万
查看次数

防止活动被破坏

我从一个我称之为活动的活动中向相机发送了一个意图:

 Intent testphoto = new Intent(Dashboard.this,CameraHandler.class);
 startActivity(testphoto);
Run Code Online (Sandbox Code Playgroud)

在CameraHandler类中,我调用相机:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
startActivityForResult(intent, 0);
Run Code Online (Sandbox Code Playgroud)

但是在CameraHandlercamerahandler类中调用之前,活动被破坏了.反正有没有阻止这个?

发现答案:我的androidmanifest nohistory = true,这使得操作系统在结果之前破坏了活动.

android android-camera-intent android-activity android-ondestroy

13
推荐指数
2
解决办法
1万
查看次数

在Android中的三星设备上的摄像头捕获方向

我正在创建一个相机应用程序.捕获时的图像显示在网格视图中.现在,代码在除三星设备之外的所有设备上都能正常工作.

我正面临着方向问题.当我以纵向模式拍摄图像时,图像在网格视图中显示时会旋转.我没有保留任何旋转代码.其次,使用EXIF我在网格视图中获得了正确的图像,但是当设备方向改变时,图像再次以旋转的方式旋转.

附加图片: 在此输入图像描述

在此输入图像描述

对不起图像的分辨率.请知道它们是否不正确.将再次上传.我知道SO上有很多这样的帮助.但我想我在某个地方被困住了.

我指的是以下链接:

http://blog.andolaso​​ft.com/2013/06/how-to-show-captured-images-dynamically-in-gridview-layout.html

android screen-orientation android-camera android-camera-intent android-orientation

13
推荐指数
2
解决办法
1万
查看次数

使用密码锁定设备时捕获图像

我想实现一种功能,当有人试图解锁我的设备并输入错误密码3次时,通过前置摄像头捕获图像.我检查过它可以在Android中使用,某些应用程序也可以在Market中使用.

我已经做了一些工作来实现这一目标,但我得到了一个黑色的图像.这是代码:

注册设备管理员以获取广播的错误密码尝试:

public class DeviceAdminSample extends DeviceAdminReceiver {

static Context ctx;

static SharedPreferences getSamplePreferences(Context context) {

    ctx = context;

    return context.getSharedPreferences(
            DeviceAdminReceiver.class.getName(), 0);
}

@Override
public void onPasswordFailed(Context context, Intent intent) {
    super.onPasswordFailed(context, intent);

    System.out.println("Password Attempt is Failed...");

    Intent i = new Intent(context, CameraView.class);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);

}

}
Run Code Online (Sandbox Code Playgroud)

Camera Class捕获图像并将其保存到SD卡:

public class CameraView extends Activity implements SurfaceHolder.Callback,
    OnClickListener {
private static final String TAG = "CameraTest";
Camera mCamera;
boolean mPreviewRunning = false;

public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    Log.e(TAG, …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-camera android-camera-intent android-canvas

12
推荐指数
1
解决办法
5189
查看次数

从相机和图库上传在所有版本中都无法正常工作

我正在尝试从教程或相机中获取图像的教程和示例代码的数量,然后裁剪图像并将其上传到服务器.我在那个代码中实现了代码,我面临的问题很少.

  1. 在使用照片应用程序裁剪图像时,在Lollipop设备中,图像不会在图像视图中反映出来,但它会在图像保存时显示消息.
  2. 在nexus手机中,相机和图库都无法使用.
  3. 当我裁剪图像时,在几个设备中的5.0版本获得如下所示的图像 图片

下面是我的代码片段

public void getPhoto() {

        final String[] items = new String[] { "Take from camera",
                "Select from gallery" };
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
                android.R.layout.select_dialog_item, items);
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());

        builder.setTitle("Select Image");
        builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) { // pick from
                                                                    // camera
                if (item == 0) {
                    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                    intent.putExtra(
                            "android.intent.extras.CAMERA_FACING",
                            android.hardware.Camera.CameraInfo.CAMERA_FACING_FRONT);
                    mImageCaptureUri = Uri.fromFile(new File(Environment
                            .getExternalStorageDirectory(), "tmp_avatar_"
                            + String.valueOf(System.currentTimeMillis())
                            + ".jpg"));

                    intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
                            mImageCaptureUri);

                    try { …
Run Code Online (Sandbox Code Playgroud)

android image-uploading android-gallery android-camera android-camera-intent

12
推荐指数
1
解决办法
1130
查看次数

在Android Nougat上拍摄照片后,BitmapFactory无法解码Uri中的Bitmap

我试图拍照然后使用照片.这就是我做的.

我的设备是Nexus 6P(Android 7.1.1).

首先,我创建了一个Uri:

Uri mPicPath = UriUtil.fromFile(this, UriUtil.createTmpFileForPic());
//Uri mPicPath = UriUtil.fromFile(this, UriUtil.createFileForPic());
Run Code Online (Sandbox Code Playgroud)

然后,我开始Intent:

Intent intent = ActivityUtils.getTakePicIntent(mPicPath);
if (intent.resolveActivity(getPackageManager()) != null) {
    startActivityForResult(intent, RequestCode.TAKE_PIC);
}
Run Code Online (Sandbox Code Playgroud)

最后,我处理了这个Uri问题onActivityResult:

if (requestCode == RequestCode.TAKE_PIC) {
    if (resultCode == RESULT_OK && mPicPath != null) {
        Bitmap requireBitmap = BitmapFactory.decodeFile(mPicPath.getPath());
        //path is like this: /Download/Android/data/{@applicationId}/files/Pictures/JPEG_20170216_173121268719051242.jpg
        requireBitmap.recycle();//Here NPE was thrown.
    }
}
Run Code Online (Sandbox Code Playgroud)

在此期间,以下是UriUtil:

public class UriUtil {

    public static File createFileForPic() throws …
Run Code Online (Sandbox Code Playgroud)

android bitmap android-camera-intent android-fileprovider android-7.0-nougat

12
推荐指数
1
解决办法
7795
查看次数

启动默认相机应用程序(不返回)

我想启动默认摄像头,但希望它像从启动器启动一样(即生成的图片应该由相机应用程序存储到用户的图库,而不是返回到我的应用程序).如果我使用Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);,相机应用程序使用"确定?重试?" - 用户界面并不保存图片.我宁愿不使用"直接" com.android.camera意图,因为很多设备都使用自定义相机应用程序.我已经看到库存gallery3d-app使用别名实现com.android.camera/.Camera,但我不确定每个预先加载的制造商相机应用程序是否这样做.

android android-camera android-camera-intent

11
推荐指数
2
解决办法
8041
查看次数

如何在Android中将exif数据写入图像?

我正在尝试使用exif界面在Android应用程序中编写User_CommentTAG_GPS捕获的图像,但由于某种原因,当我在图库中查看图像的详细信息时,标签似乎没有附加到图像上.

似乎可能没有将标签写入捕获的图像,因为文件路径可能是错误的.我想这可能是因为我将标签写入了错误的图像路径.

有没有人知道我的标签写入图像的方式是否有问题?

这是在@ Charlie的更改后保存exif数据的代码:

private File getOutputPhotoFile() throws IOException {
          File directory = new File(Environment.getExternalStoragePublicDirectory(
                        Environment.DIRECTORY_PICTURES), getPackageName());
          if (!directory.exists()) {
            if (!directory.mkdirs()) {
              Log.e(TAG, "Failed to create storage directory.");
              return null;
            }
          }


          String timeStamp = new SimpleDateFormat("yyyMMdd_HHmmss", Locale.ENGLISH).format(new Date());

          File[] files = directory.listFiles();

          File exifVar =  new File(directory.getPath(), "IMG_" + timeStamp + ".jpg");
          if(files.length!=0) {
              File newestFile = files[files.length-1];
              exifVar =  new File(directory.getPath() + File.separator + newestFile.getName());
          }

          String mString = "Generic Text..";     
          ExifInterface …
Run Code Online (Sandbox Code Playgroud)

java android exif android-gallery android-camera-intent

11
推荐指数
2
解决办法
1万
查看次数

使用ACTION_IMAGE_CAPTURE从相机拍摄照片后如何跳过或避免"重拍和查看"选项

当我点击照片并设置为我的Imageview而没有用户选择是或否时,我想显示图像....

我正在研究更多,我也非常清楚相机应用程序本身使您能够查看/重新拍摄图像,一旦图像被接受,活动就会显示它.但我想要不经审查/重拍活动显示它.....

我正在尝试这段代码

用来初始化

  Uri mImageCaptureUri;
Run Code Online (Sandbox Code Playgroud)

对于单击按钮

  Intent intent      = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    File file        = new File(Environment.getExternalStorageDirectory(),
            "tmp_avatar_" + String.valueOf(System.currentTimeMillis()) + ".jpg");
    mImageCaptureUri = Uri.fromFile(file);

    try {

        intent.putExtra(MediaStore.AUTHORITY, true);
        intent.putExtra("return-data", true);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
        startActivityForResult(intent, PICK_FROM_CAMERA);
    } catch (Exception e) {
        e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

onActivityResult

  @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {

        Bitmap bitmap = null;


        mPath = mImageCaptureUri.getPath();

        System.out.println("THE PAtH:_" + mPath);

        BitmapFactory.Options o2 = new BitmapFactory.Options();
        bitmap = BitmapFactory.decodeFile(mPath, o2);
        ivSelfie.setImageBitmap(bitmap);


}
Run Code Online (Sandbox Code Playgroud)

当我点击照片而不是我这个屏幕选择是或否......

但我的要求不是选择评论/重拍任务,只需点击并设置.....直接设置到活动显示的ImageView .....

在此输入图像描述

java camera android android-camera android-camera-intent

11
推荐指数
1
解决办法
1352
查看次数