1. android中的一个隐藏的类:ContentType,其中定义了android支持的mimetype类型
类的路径: com.google.android.mms.ContentType
2. Action为Intent.ACTION_GET_CONTENT的Intent可以设置许多参数,如:
intent.putExtra("crop", "true");
intent.putExtra("outputX", appsWallpaperWidth);
intent.putExtra("outputY", apps_wallpaper_height);
intent.putExtra("aspectX", appsWallpaperWidth);
intent.putExtra("aspectY", apps_wallpaper_height);
intent.putExtra("scale", true);
intent.putExtra("noFaceDetection", true);
intent.putExtra("output", appsWallpaperPath);
intent.putExtra("outputFormat", "JPEG");
3. 使用startActivityForResult方法启动Intent对应的Activity,可以在原Activity的回调方法onActivityResult方法中拿到返回的数据.返回的数据放在第三个参数data(Intnet类型)中.
使用getData返回一个Uri,再使用context.getContentResolver().openInputStream(uri);可以拿到一个输入流.
//选择图片 requestCode 返回的标识
Intent intent = new Intent(Intent.ACTION_GET_CONTENT); //"android.intent.action.GET_CONTENT"
intent.setType(contentType); //查看类型 String IMAGE_UNSPECIFIED = "image/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);
//添加音频
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(contentType); //String VIDEO_UNSPECIFIED = "video/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);
//拍摄视频
int durationLimit = getVideoCaptureDurationLimit(); //SystemProperties.getInt("ro.media.enc.lprof.duration", 60);
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
intent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, sizeLimit);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, durationLimit);
startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);
//视频
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(contentType); //String VIDEO_UNSPECIFIED = "video/*";
Intent wrapperIntent = Intent.createChooser(intent, null);
((Activity) context).startActivityForResult(wrapperIntent, requestCode);
//录音
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType(ContentType.AUDIO_AMR); //String AUDIO_AMR = "audio/amr";
intent.setClassName("com.android.soundrecorder",
"com.android.soundrecorder.SoundRecorder");
((Activity) context).startActivityForResult(intent, requestCode);
//拍照 REQUEST_CODE_TAKE_PICTURE 为返回的标识
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //"android.media.action.IMAGE_CAPTURE";
intent.putExtra(MediaStore.EXTRA_OUTPUT, Mms.ScrapSpace.CONTENT_URI); // output,Uri.parse("content://mms/scrapSpace");
startActivityForResult(intent, REQUEST_CODE_TAKE_PICTURE);
参考:
分享到:
相关推荐
本文将详细讲解如何在Android中简单地调用图片、视频、音频、录音和拍照的功能,这些功能通常涉及到Intent的使用,MediaRecorder,以及Activity生命周期中的回调方法。 1. **选择图片** 当需要让用户从设备图库中...
在Android平台上,开发一款应用程序以实现录像、照相和录音功能是常见的需求。这些功能让应用能够捕获用户的视觉和听觉体验,丰富了交互方式。以下是对标题和描述中涉及知识点的详细说明: 1. **Android硬件权限...
在Android应用开发中,录音和拍照是常见的功能,它们为用户提供了一种互动和记录的方式。本文将详细讲解如何在Android项目中实现录音和拍照功能,包括长按录音、放起结束录音以及前后摄像头的切换。 **一、录音功能...
在Android开发中,调用系统自带的照相、摄像和录音功能是常见的需求,尤其对于构建涉及多媒体交互的应用至关重要。本文将深入讲解如何在Android应用中实现这些功能,并为初学者提供详细的步骤指导。 首先,让我们...
在Android平台上,图片、录音和视频采集是移动应用开发中不可或缺的部分,这涉及到用户交互、媒体处理和存储等多方面技术。以下是对这些知识点的详细解释: 1. **权限管理**: 在Android 6.0(API级别23)及更高...
- 使用`Intent`:在Android中,调用系统相机应用拍照通常通过启动一个隐式`Intent`来完成。`Intent.ACTION_IMAGE_CAPTURE`用于启动相机应用并捕获一张照片。 - 存储照片:拍摄的照片默认会存储在设备的公共图库...
在Android平台上,调用手机内置的录像、录音和照相功能是常见的应用场景,例如在开发社交应用、多媒体应用或者任何需要捕获用户媒体数据的场景。以下是对如何实现这些功能的详细讲解: **录像功能** 要调用手机的...
在Android开发中,创建一个能够实现拍照、录音和录像功能的应用程序是一项常见的需求。这个"android studio app 拍照,录音,录像工程文件"提供了一个完整的项目模板,可以直接在Android 7.0及以上版本的系统上运行...
在Android中,我们可以使用`Intent`来调用系统相机应用来完成拍照操作。首先,创建一个`Intent`对象,指定其`ACTION_IMAGE_CAPTURE`动作,然后通过`startActivityForResult()`启动相机应用。当用户拍照完成后,系统...
我们可以调用IntentACTION_IMAGE_CAPTURE启动系统相机应用,让用户拍摄照片,然后通过onActivityResult回调接收拍摄的图片。如果需要自定义相机界面,可以使用Camera2 API,它提供了更精细的控制,如曝光补偿、对焦...
开发者需要设置音频源、编码格式、输出文件路径等参数,然后调用`start()`开始录音,`stop()`结束并保存录音文件。同时,考虑到权限问题,需要在AndroidManifest.xml中声明`RECORD_AUDIO`权限。 第三,**拍照功能**...
例如,当需要调用摄像头拍照时,开发者可以在JavaScript中触发一个特定事件,Bridge接收到这个事件后会调用Android的Camera API,用户完成拍照后,图片数据再通过Bridge返回到JavaScript层处理。 Hybrid模式开发的...
本篇文章将详细讲解如何在Android中实现自定义的拍照和录像功能,不依赖于Intent。 一、自定义拍照 1. 创建Camera权限:在AndroidManifest.xml中添加使用相机所需的权限: ```xml <uses-permission android:name=...
本篇文章将深入探讨如何在Android 6.0及更高版本中使用greendao数据库,并介绍在新版本系统下如何实现拍照、录音和录像功能并将其存储到数据库中。 一、greendao数据库的使用 1. 添加依赖:首先,你需要在项目的...
在Android平台上,开发一款应用以实现“拍照、摄像和录音”功能并自动保存文件是一项常见的需求。这样的应用程序能够提供用户方便地捕捉生活瞬间,记录声音,以及保存这些媒体数据到设备上。以下将详细讲解这一过程...
本文将深入探讨如何在Android应用中实现微信聊天的语音录制、表情发送、拍照以及从本地相册选择图片,同时还会讨论如何保存和加载聊天记录。 一、语音录制与播放 在Android中,可以使用MediaRecorder类来实现语音...
MediaPlayer是Android多媒体应用的核心,它提供了音频和视频的播放服务,可以浏览媒体库,支持多种音频和视频格式。Sound Recorder则提供了录音功能,用户可以录制音频文件。Camera包则支持拍照、录像、视频播放以及...
- **拍照功能**:Android提供了Camera API,用于调用设备的摄像头进行拍照。开发者需要申请相机权限,并通过Intent启动系统相机应用或自定义相机界面。 - **录音与录像**:MediaRecorder类是Android用于录音和录像...
在Android开发中,文件的上传和下载是常见的功能,尤其在移动应用中,用户可能需要保存、分享或者备份数据。本文将深入探讨如何在Android平台上实现实现录音、照片的上传与下载。 首先,让我们从录音功能开始。...