[問題] 使用相機問題
開發層: (應用/框架/庫/核心)
應用
問題:
想請教有關照相機使用的問題
之前是使用Camera class來做
但是偶爾會出現當機的問題(找不到原因orz)
後來直接改用intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE)
去呼叫照相機再經由路徑去讀取照片作處理
以下是我的程式(參考網路)
開啟相機部分
public static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 1234567;
...
mBtnTakePicture.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
//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 by camera");
//imageUri is the current activity attribute, define and save it for later
usage (also in onSaveInstanceState)
imageUri =
getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
values);
//create new Intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
讀取照片部分
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
//use imageUri here to access the image
Cursor cursor = null;
try {
String [] proj={ MediaStore.Images.Media.DATA }; //,
MediaStore.Images.Media._ID, MediaStore.Images.ImageColumns.ORIENTATION };
cursor = RecordView.this.managedQuery(imageUri,
proj, // Which columns to return
null, // WHERE clause; which rows to return (all rows)
null, // WHERE clause selection arguments (none)
null); // Order-by clause (ascending by name)
int file_ColumnIndex =
cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
//int orientation_ColumnIndex =
cursor.getColumnIndexOrThrow(MediaStore.Images.ImageColumns.ORIENTATION);
if (cursor.moveToFirst()) {
String imagePath = cursor.getString(file_ColumnIndex);
....
} finally {
if (cursor != null) {
cursor.close();
}
我的問題是,
現在可以順利的讀取到照片,
那請問我該如何從記憶卡中刪除這張照片,
我試過用File去讀imagePath,
再用delete()去刪除,
但沒有產生任何效果,
另外想請問,
用這種方式開啟相機還有辦法去修改相機的參數嗎?
比如說限制閃光或是照片大小等,
麻煩各位高手了,
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.151.40
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章