java - Android Camera打开然后在新的activity中打开拍摄的图片

标签 java android eclipse android-camera

我想制作一个应用程序,当我按下某个按钮时,我想打开摄像头然后捕获图像,然后捕获它。

我想在一个新的 Activity 中打开这张图片,把这张图片放在这个新的 Activity 中,还有两个按钮,一个是删除它,另一个是将它保存在平板电脑的某个目录中。

我用代码打开摄像头:

    Open_CAM.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v)  {

            Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
           startActivityForResult(cameraIntent, CAMERA_REQUEST);  

我不知道在那之后我能做什么?

请帮忙...

最佳答案

Open_CAM.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v)  {
                Intent photoPickerIntent= new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                photoPickerIntent.putExtra(MediaStore.EXTRA_OUTPUT, getTempFile());
                photoPickerIntent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
                photoPickerIntent.putExtra("return-data", true);
                startActivityForResult(photoPickerIntent,TAKE_PICTURE);}}

 private Uri getTempFile() 
 {
      File root = new File(Environment.getExternalStorageDirectory(), "ServiceMySigns");
      if (!root.exists()) 
      {
          root.mkdirs();
      }
     final Calendar c = Calendar.getInstance();
     int y = c.get(Calendar.YEAR);
     int m = c.get(Calendar.MONTH);
     int d = c.get(Calendar.DAY_OF_MONTH);

     int h = c.get(Calendar.HOUR_OF_DAY);
     int mi = c.get(Calendar.MINUTE);

      //String filename=""+y+"-"+"-"+(m+1)+"-"+d+" "+h+":"+mi;
      String filename=""+System.currentTimeMillis();
      File file = new File(root,filename+".jpeg" );
      muri = Uri.fromFile(file);
      selectedImagePath=muri.getPath();
      Log.v("take picture path",selectedImagePath);
      return muri;
  }

  public void onActivityResult(int requestcode,int resultcode ,Intent data)
  {
      switch(requestcode)
      { 
      case TAKE_PICTURE: 
          if(resultcode==RESULT_OK)
          { 
              BitmapFactory.Options o = new BitmapFactory.Options();
              o.inSampleSize=8;
              Bitmap newImage = Bitmap.createScaledBitmap(BitmapFactory.decodeFile(selectedImagePath,o), 
                                                         150, 
                                                         150, 
                                                         false);}}}

在 onActivityResult 中获得位图后,您可以通过 Intent 将该位图发送到另一个 Activity 。

关于java - Android Camera打开然后在新的activity中打开拍摄的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12474702/

相关文章:

java - 将文本文件加载到 jTable 中

android - 由于branch.io,应用程序已从 Google Play 中删除

eclipse - M2e 未找到丢失的存储库 - m2e eclipse 插件

java - 如何让 toString() 返回多行字符串?

java - 鼠标悬停之前按钮不可见

java - 扩展 AsyncHTTPClient 添加默认成功回调

eclipse - 将 Jmockit 与 Eclemma 结合使用

java - 错误检查对象为空

java - 有没有办法使用 apache-commons 为属性文件中的环境变量提供默认值?

java - 从 AppCompatPreferenceActivity 扩展的类中的 DialogFragment