【问题标题】:Android:Problem with camera(take pictures)Android:相机问题(拍照)
【发布时间】:2011-10-07 00:10:00
【问题描述】:

我有一个应用程序,它使用默认相机拍照并将其保存在数据库中。

我使用的相机代码是:

package com.android.SamsungMIv4;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.ContentValues;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import android.widget.Toast;

public class camera extends Activity {
private static final int TAKEPICTURE_ACTIVITY = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent i = new Intent("android.media.action.IMAGE_CAPTURE"); 
    try{ 
            startActivityForResult(i, TAKEPICTURE_ACTIVITY); 
    }catch(ActivityNotFoundException e){ 
            Toast.makeText(this, "Application not available", 
Toast.LENGTH_SHORT).show();} 
            //Log.e(TAG, "Error in taking picture"); 
    } 
 @Override 
  protected void onActivityResult(int requestCode, int resultCode, 
Intent intent) { 
      super.onActivityResult(requestCode, resultCode, intent); 
  if (requestCode == TAKEPICTURE_ACTIVITY){ 
            if (resultCode == RESULT_OK) { 
                            Bundle extras = intent.getExtras(); 
                            Bitmap bitmap = (Bitmap) extras.get("data") ; 

         } 
} 
} 
}

但是,问题是我无法为捕获的图像指定名称,这会导致数据库出现问题。那么,我该怎么做 1)包括一种为捕获的图像添加文件名的方法 要么 2)我假设这里的“位图”包含我捕获的图像。如果是这样,我如何将它与我指定的名称一起保存到一个位置。 要么 3) 由于此相机是我在单独的活动中使用的服务,有没有办法使用内容值将捕获的图像返回到先前的活动?

【问题讨论】:

    标签: android android-camera


    【解决方案1】:

    获取数据,就像您使用 .getExtras("data") 方法所做的那样,将允许您获取照片的高分辨率版本。要保存文件,请查看压缩方法 [1]。然后使用 FileOutputSteam[2] 您可以轻松定义要保存到的文件名。

    1. http://developer.android.com/reference/android/graphics/Bitmap.html#compress(android.graphics.Bitmap.CompressFormat, int, java.io.OutputStream)

    2. http://download.oracle.com/javase/1.4.2/docs/api/java/io/FileOutputStream.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多