相关文章推荐
博学的钢笔  ·  CSS ...·  1 年前    · 
好帅的眼镜  ·  Mapnik-VS2017编译_mapnik ...·  1 年前    · 
public void selectImageVideo () { //4.3以上的action,该action会将文件副本导入我们的应用,即我们看到的是副本 // Intent intent = new Intent(Intent.ACTION_GET_CONTENT); //4.4以上的action,该action不会将文件副本导入我们的应用,即我们看到的是源文件 //只显示照片供选择,可以多选 // intent.setType("image/*"); //只显示视频供选择,可以多选 // intent.setType("video/*"); //同时显示照片和视频供选择,此时Intent.EXTRA_ALLOW_MULTIPLE不能为true,即不支持多个文件 intent.setType( "*/*" ); ArrayList<String> mimes = new ArrayList<>(); mimes.add( "image/*" ); mimes.add( "video/*" ); intent.putExtra(Intent.EXTRA_MIME_TYPES, mimes); //4.3以上的设备才支持Intent.EXTRA_ALLOW_MULTIPLE,是否可以一次选择多个文件 intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, false ); //返回的文件是否必须存在于设备上,而不是需要从远程服务下载的,用于解决用户选中的是云端文件时的问题 intent.putExtra(Intent.EXTRA_LOCAL_ONLY, false ); if (intent.resolveActivity(getPackageManager()) != null ) { startActivityForResult(intent, REQUEST_IMAGE_GET);

2、解析选择结果

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == RESULT_OK) {
            switch (requestCode) {
                case REQUEST_IMAGE_GET:
                    ClipData clipData = data.getClipData();
                    if (clipData == null) {
                        //用户只选择了一个文件
                        String uriStr = data.getDataString();
                        //判断用户选择的是照片还是视频
                        if (uriStr.contains("image")) {
                            Uri fullPhotoUri = data.getData();
                            mImageView.setImageURI(fullPhotoUri);
                        } else if (uriStr.contains("VIDEO")) {
                            //TODO 显示视频
                    } else {
                        //用户选择了多个文件
                        Uri firstUri = clipData.getItemAt(0).getUri();
                        String uriStr = firstUri.toString();
                        //判断用户选择的是照片还是视频
                        if (uriStr.contains("image")) {
                            mImageView.setImageURI(firstUri);
                        } else if (uriStr.contains("VIDEO")) {
                            //TODO 显示视频
                    break;
                default:
                    break;
                                    Android实现选择视频功能一、目标二、实现方案三、一些测试1. 同时选择图片和视频2. 选择音频四、最终实现五、开发过程回顾六、接下来七、Finally
在上一篇文章《Android实现录像功能》中,实现了调用第三方应用实现录像功能。
接下来要实现选择本地视频以添加到笔记中。
选择本地视频以添加到神马笔记中。
二、实现方案
Android提供了3个Action,可以实现选择视频功能。...
                                    转载请注明出处:codog_main的博客
  有时我们想选择文件,但是又懒得自己去写一个文件浏览器,使用安卓原生的文件选择器或引入第三方库无疑是最佳选择,因为写自己不喜欢的东西真的非常痛苦。
  安卓开启系统原生文件浏览器的教程网上已经烂大街了,但是很少有文章提及如何进行多选文件。我们在开启原生的文件浏览器时,默认是单选的,即点击文件立即返回uri,想实现多选只需要加入语句:
  inte...
int CHOOSE_IMAGE = 100;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, CHOOSE_IMAGE);
第二种是最近看到的,使用 MediaStore.Images 过滤,只有相册,不会崩溃。
int CHOOSE_IMAGE =
if (intent.resolveActivity(getPackageManager())!=null) { //判断Intent是否为null
      // Intent不为空              
  }else{
      // Intent为空  
判断Intent的指定Key是否为空:
if(intent.hasExtra("key")){
    //查看有没有指定的key
清除Intent里指定key里面的值:
inten
boolean isCamera = false;
try {
    CameraManager cameraManager = (CameraManager) getActivity().getSystemService(Context.CAMERA_SERVICE);.
隐式调用的规则
1.隐式调用的核心:Intent可以匹配目标组件的IntentFilter中设置的过滤信息。这里,目标组件就是要启动的Activity,IntentFilter表示意图过滤,也被称为过滤列表。2.匹配过滤列表,就是匹配IntentFilter中...
                                    如需以视频模式打开相机应用,请使用 INTENT_ACTION_VIDEO_CAMERA 操作。
操作INTENT_ACTION_VIDEO_CAMERA数据 URI 架构无MIME 类型无Extra无
示例 Intent:
public void capturePhoto() {
    Intent intent = new Intent(MediaStore.INTENT_AC
                                    Matisse是知乎发布的一款开源本地视频和图片选择框架,适用Android系统。他可以:选择JPEG、PNG、GIF格式图像以及MPEG、MP4等格式视频选择不同的主题,包括两个内置主题和自定义主题不同的图像加载程序自定义筛选规则引入implementation 'com.zhihu.android:matisse:0.5.3-beta3'implementation 'com.github....
                                    1.拍照后制定位置存储Intent getImageByCamera = new Intent("android.media.action.IMAGE_CAPTURE");capturePath = Constant.IMGPATH + File.separator + System.currentTimeMillis() + ".jpg";getImageByCamera.putExtra(Me...
                                    最近在做毕设,想在调用系统相册的时候直接返回多张图片的地址。我本意是想用尽量简单的方法来解决这个问题,不需要剪裁啊什么的功能,只要可以多选就好。可是百度搜出来的方案基本上全部是自己写一个相册或者调用第三方的相册。这并不符合我的本意。最后我在谷歌搜到了一个只需要几行便可以解决在系统相册选取多张图片的办法。此办法最低需要API 18. 补充说明一句,此方法不止可以多选图片,其它的文件类型也是可以的,方...
                                    问题I want to open multiple images from the Android gallery using "Intent.EXTRA_ALLOW_MULTIPLE" intent filter:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {final Intent intent = n...