您的位置:首页 > 移动开发 > Android开发

Android学习篇章50-MediaStore-Intent启动照相

2013-11-05 22:14 459 查看
activity:

public class CamareActivity extends Activity {

//把拍摄的照片保存在公共目录中 --DCIM目录(专用于保存照片的)
String path=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM)
+"/test.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pic_camare);
}

public  void clickBtn(View view)
{
Intent intent=new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File(path)));
startActivityForResult(intent,0x101);
}

//当照片拍摄完毕会执行这个回调方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode==0x101 && resultCode==this.RESULT_OK)
{
//查看拍摄的图片
Intent intent=new Intent();

intent.setAction(Intent.ACTION_VIEW);
//传入要查看的图片的uri
intent.setDataAndType(Uri.fromFile(new File(path)),"image/jpg");
startActivity(intent);
}

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.camare, menu);
return true;
}

}


xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".CamareActivity" >

<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="clickBtn"
android:text="拍照" />

</RelativeLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: