相关疑难解决方法(0)

我的应用程序启动时,如何在没有预览的情况下从相机拍照?

现在我想要的只是一个应用程序,只需在启动时从相机拍摄照片.没有布局,没有相机预览......没有,只是一个简单的应用程序图标来启动应用程序.一旦启动,相机应该拍照.

这是预览图像,我不想在我的应用程序中显示.我只是想让我的应用程序点击图片中包围的拍照按钮:

在此输入图像描述

拍完照片后,我需要将照片保存在照片库中.

有人能指导我吗?谢谢

这是我在仿真器和设备上尝试过的一些代码.

import java.io.IOException;
import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
import android.hardware.Camera.ShutterCallback;
import android.os.Bundle;
import android.util.Log;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;

public class Main extends Activity implements SurfaceHolder.Callback{

    private Camera camera;
     private ImageButton cameraClick;
     private SurfaceHolder mHolder; 

    /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      SurfaceView surfaceView = (SurfaceView)findViewById(R.id.surfaceView1);
      mHolder = surfaceView.getHolder();
      mHolder.addCallback(this);
      mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);  

      cameraClick = (ImageButton) findViewById(R.id.cameraClick);
      cameraClick.setOnClickListener( …
Run Code Online (Sandbox Code Playgroud)

android android-intent

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

使用没有表面视图的Android相机

我正在开发android,我想用相机做一些事情(处理像素的值),但只是在背景中,是否可以在没有表面视图的情况下进行?只需使用缓冲区读取像素的值并进行处理.谢谢每个人都可以帮助我

android

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

Android - 无预览拍照

我试图在没有预览的情况下拍摄照片,当我的应用程序开始运行时立即拍摄,然后将图片保存在根文件夹中的新文件夹 - "pictures123"中.有人可以告诉我我的代码有什么问题吗?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    File directory = new File(Environment.getExternalStorageDirectory() + "/pictures123/");

    if (!directory.exists()) {
        directory.mkdir();
    }

    Camera camera = Camera.open(0);
    Camera.Parameters parameters = camera.getParameters();
    parameters.setPictureFormat(ImageFormat.JPEG);
    camera.setParameters(parameters);
    SurfaceView mview = new SurfaceView(getBaseContext());
    camera.setPreviewDisplay(mview.getHolder());
    camera.setPreviewDisplay(null);
    camera.startPreview();
    camera.takePicture(null,null,photoCallback);
    camera.stopPreview();
}

Camera.PictureCallback photoCallback=new Camera.PictureCallback() {
    public void onPictureTaken(byte[] data, Camera camera) {

        try {
            String root = Environment.getExternalStorageDirectory().toString();
            File myDir = new File(root + "/pictures123");
            File file = new File (myDir, "pic1.jpeg");
            FileOutputStream out = new FileOutputStream(file); …
Run Code Online (Sandbox Code Playgroud)

android surfaceview android-camera

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

用于相机预览的隐形SurfaceView

我只需要获取相机预览数据,但不能看到预览.由于我在服务中完成所有这些工作,因此我必须创建一个虚拟SurfaceView,它可以很好地工作.

我使用了这个答案的代码:https: //stackoverflow.com/a/10268650/1395697

但是,TYPE_SYSTEM_OVERLAY它没有用.它是不可见的,但没有收到预览数据(in onPreviewFrame()).当我将此参数更改为0时,我获得预览数据,但是SurfaceView可见.

你知道其他任何方法吗?

我现在所做的只是SurfaceView在宽度和高度为1时可见,然后我创建一个ImageView具有特定颜色的叠加层,这样你就看不到颜色的变化了SurfaceView.但这根本不是很好,我真的想做得更好.

camera android preview surfaceview

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