通過使用意圖"android.provider.MediaStore.ACTION_IMAGE_CAPTURE", 我們可以要求其他服務提供程序幫助, Android操作系統會自動選擇合適的程序幫我們拍照, 然後再把圖片送回給我們.
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<Button
android:id="@+id/captureimage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Call for ACTION_IMAGE_CAPTURE"
/>
<ImageView
android:id="@+id/imagecaptured"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
AndroidImageCapture.java
package com.AndroidImageCapture;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class AndroidImageCapture extends Activity {
ImageView imageiewImageCaptured;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonImageCapture = (Button)findViewById(R.id.captureimage);
imageiewImageCaptured = (ImageView)findViewById(R.id.imagecaptured);
buttonImageCapture.setOnClickListener(buttonImageCaptureOnClickListener);
}
Button.OnClickListener buttonImageCaptureOnClickListener
= new Button.OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 0);
}};
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK)
{
Bundle extras = data.getExtras();
Bitmap bmp = (Bitmap) extras.get("data");
imageiewImageCaptured.setImageBitmap(bmp);
}
}
}
相關文章:
- 通過EXTRA_OUTPUT, 指定儲存圖像的路徑
此留言已被作者移除。
回覆刪除此留言已被作者移除。
回覆刪除您好~
回覆刪除目前參考您的文章在實做上有些疑問
想請教一下
有辦法回傳外部程式拍完照後所儲存的圖片路徑嗎?
please 參考 通過EXTRA_OUTPUT, 指定儲存圖像的路徑
回覆刪除但是有的相機呼叫的時候~沒有辦法指定相片儲存路徑(實際測是他還是會存在預設路徑)...因為目前要實做上傳網路的功能,所以想說是否有辦法得到呼叫的相機所預設的儲存路徑
回覆刪除有的相機不能? 這個我也不清楚!
回覆刪除還是謝謝你熱心解答︿︿
回覆刪除請問要如何呼叫其他相機幫忙拍後
回覆刪除要如何引導回自己所寫的程式頁面去??
請參考: 通過EXTRA_OUTPUT, 指定並顯示使用 ACTION_IMAGE_CAPTURE 拍攝的圖像
回覆刪除