Android 调用系统照相机拍照和录像

本文实现android系统照相机的调用来拍照

项目的布局相当简单,只有一个Button:

<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" tools:context=".MainActivity" > <Button android:onClick="click" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:text="调用系统相机拍照" /> </RelativeLayout>

首先打开packages\apps\Camera文件夹下面的清单文件,找到下面的代码:

<activity android:name="com.android.camera.Camera" android:configChanges="orientation|keyboardHidden" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" android:screenOrientation="landscape" android:clearTaskOnLaunch="true" android:taskAffinity="android.task.camera"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <intent-filter> <action android:name="android.media.action.IMAGE_CAPTURE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <intent-filter> <action android:name="android.media.action.STILL_IMAGE_CAMERA" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>

相关代码如下:

public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View view) { /* * <intent-filter> <action * android:name="android.media.action.IMAGE_CAPTURE" /> <category * android:name="android.intent.category.DEFAULT" /> </intent-filter> */ // 激活系统的照相机进行拍照 Intent intent = new Intent(); intent.setAction("android.media.action.IMAGE_CAPTURE"); intent.addCategory("android.intent.category.DEFAULT"); //保存照片到指定的路径 File file = new File("/sdcard/image.jpg"); Uri uri = Uri.fromFile(file); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); startActivity(intent); } }

实现激活录像功能的相关代码也很简单:

public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View view) { /* * <intent-filter> <action * android:name="android.media.action.VIDEO_CAPTURE" /> <category * android:name="android.intent.category.DEFAULT" /> </intent-filter> */ // 激活系统的照相机进行录像 Intent intent = new Intent(); intent.setAction("android.media.action.VIDEO_CAPTURE"); intent.addCategory("android.intent.category.DEFAULT"); // 保存录像到指定的路径 File file = new File("/sdcard/video.3pg"); Uri uri = Uri.fromFile(file); intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); startActivityForResult(intent, 0); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { Toast.makeText(this, "调用照相机完毕", 0).show(); super.onActivityResult(requestCode, resultCode, data); } }

出处:http://www.cnblogs.com/wuyudong/

时间: 2024-10-24 19:28:56

Android 调用系统照相机拍照和录像的相关文章

Android 调用系统照相机拍照和录像_Android

本文实现android系统照相机的调用来拍照 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig

Android 实现调用系统照相机拍照和录像的功能_Android

本文实现android系统照相机的调用来拍照 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig

Android 实现调用系统照相机拍照和录像的功能

本文实现android系统照相机的调用来拍照 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig

安卓开发之调用系统照相机拍照并剪辑

调用系统照相机拍照并剪辑 在Android开发过程中,很多时候我们都需要调用照相机拍照,尤其在发布微博的时候. 自己继承Camera类写一个拍照功能显然不是最好的方案,因为我们不能考虑的非常全面. 这个时候,调用系统的照相机无疑是一个很好的解决方法. 下面,我们就写一个调用系统照相机拍照并对照片进行剪辑.    代码如下 复制代码  Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  intent.putExtra(Medi

android调用系统相机拍照返回图片模糊

问题描述 android调用系统相机拍照返回图片模糊 上传代码 调用系统相机 Intent it = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(it, 1); 然后获取图片 Bundle extras = data.getExtras(); b = (Bitmap) extras.get("data"); String name = new SimpleDateFormat("yyy

Android调用系统相机拍照保存以及调用系统相册的方法

系统已经有的东西,如果我们没有新的需求的话,直接调用是最直接的.下面讲讲调用系统相机拍照并保 存图片和如何调用系统相册的方法. 首先看看调用系统相机的核心方法: Intent camera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); startActivityForResult(camera, 100); 相机返回的数据通过下面的回调方法取得,并处理 @Override protected void onActivityResult(int re

拍照-Android 打开系统照相机问题

问题描述 Android 打开系统照相机问题 下面描述的代码怎么写? 直接打开系统照相机就行了,打开的时候不能出现使用第三方拍照的提示!而且不需要传文件保存路径.文件名称等,就跟平常打开手机相机拍照一样. 解决方案 http://blog.csdn.net/qq_27665781/article/details/49815827 可以用 解决方案二: android照相机android 调用系统照相机Android调用系统照相机

代码-android关于调用系统相机拍照后APP闪退的问题

问题描述 android关于调用系统相机拍照后APP闪退的问题 最近在写一个小APP,就是调用系统相机拍照,然后保存在本地相册,代码没有显示bug,但是在调试时出现了拍照后闪退的问题,我的测试机是小米2S,MIUI 7系统,android5.0.X的,拍照的照片能保存在本地,但是在拍照后点击确定后软件就闪退了,这是我的代码 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState)

代码-android调用系统拍照无返回值

问题描述 android调用系统拍照无返回值 我调用照相机拍照的代码是: cameraFile = Uri.fromFile(new File(Environment.getExternalStorageDirectory(), DemoApplication.getInstance().getUserName() + System.currentTimeMillis() + ".jpg")); cameraFileString = cameraFile.getPath().toStr