android 照片多选,Android: 关于系统相册多选图片的问题
最近在做毕设,想在调用系统相册的时候直接返回多张图片的地址。我本意是想用尽量简单的方法来解决这个问题,不需要剪裁啊什么的功能,只要可以多选就好。可是百度搜出来的方案基本上全部是自己写一个相册或者调用第三方的相册。这并不符合我的本意。最后我在谷歌搜到了一个只需要几行便可以解决在系统相册选取多张图片的办法。此办法最低需要API 18. 补充说明一句,此方法不止可以多选图片,其它的文件类型也是可以的,方法同图片。
参考:
https://stackoverflow.com/questions/31002388/android-intent-extra-allow-multiple-allows-only-single-picking
https://developer.android.com/guide/components/intents-common#Storage
具体操作:
首先在调用的界面为Intent添加EXTRA_ALLOW_MULTIPLE参数。
mContentView.findViewById(R.id.btn_send_image).setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
// Allow user to pick an image from Gallery or other
// registered apps
Intent intent = new Intent();
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,"Select Picture"), REQUEST_CODE_IMAGE);
}
});
然后在onActivityResult()处理收到的结果。
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
// User has picked an image. Transfer it to group owner i.e peer using
// FileTransferService.
Uri uri;
ListfileList = new ArrayList<>();
if (requestCode==REQUEST_CODE_IMAGE && data != null){
ClipData imageNames = data.getClipData();
if (imageNames != null){
for (int i=0; i
注意一点,getData()和getClipData()返回的类型是不一样的,如果返回的多张图片的地址,必须用getClipData()来处理。此时getData()返回的是null。getClipData()返回的类型可以理解为getData()返回类型的list。具体操作如图。
我的项目地址为https://github.com/no-10/WiFiDirect
具体的代码位置在https://github.com/no-10/WiFiDirect/blob/master/app/src/main/java/com/example/android/wifidirect/DeviceDetailFragment.java
想在实战项目中参考的可以参考一下。
android 照片多选,Android: 关于系统相册多选图片的问题相关推荐
- Android --- 在Andoird应用程序中打开相册却没有图片(夜神模拟器)怎么办?
问题描述: 当我们将Android应用程序放到手机上测试的时候,Android应用程序可以开启相册功能并获取相册中的图片,但是当我们将Andoird应用程序放到夜神模拟器上运行,开启相册选择图片发现里 ...
- android照片如何查看时间,【技巧】如何查看图片的拍摄地点和日期时间等信息...
目前大家普遍都用数码相机和手机拍摄图片,而数码相机和手机大多都带有GPS模块,因而拍摄的图片中就包含有经纬度等信息,我们就可以通过经纬度找到图片拍摄的地点. 那么如何查看一张图片的拍摄地点和具体时间, ...
- android照片视频备份,Android 保存图片或视频到相册并刷新相册
在做项目时,有时会有这样的需求,需要将用户保存的图片和视频文件,能及时在相册中展示和查看,此时如果没有通知相册更新,就不会及时查看到相册中保存的这种图片.那么我们的应用程序如何通知相册刷新并且用户可以 ...
- flutter获取Android照片,Flutter调用Android相机拍照及选取本地相册并渲染
import 'package:flutter/material.dart'; //导入拍照插件 import 'package:image_picker/image_picker.dart'; // ...
- android照片涂抹功能,android照片涂画功能实现过程及原理
这个功能可以帮你实现,在图片上进行随意的涂抹,可以用于SNS产品. 绘图本身很简单,但是要实现在图片上指定的部分精确(位置,缩放)的绘图,就有点麻烦了. 下面讲讲实现过程及原理: UI构图 这个UI, ...
- android照片涂抹功能,android:照片涂画功能实现过程及原理详解
这个功能可以帮你实现,在图片上进行随意的涂抹,可以用于SNS产品. 绘图本身很简单,但是要实现在图片上指定的部分精确(位置,缩放)的绘图,就有点麻烦了. 下面讲讲实现过程及原理: UI构图这个UI,看 ...
- android 照片加水印,Android 实现图片加水印或logo
我们常常会遇到为图像加水印或logo的需求,一般可以通过三方库或者软件实现,但其实加水印非常简单,仅用一个函数即可实现. 实现思路,逐一计算水印和原图重叠部分的像素点的RGBA分量: float pe ...
- iOS处理系统相册裁剪后图片
在系统应用里面的"照片"中,可以编辑图片选择裁剪或旋转角度.这个功能可能大家用得很少,所以在处理照片时没有遇到什么问题.今天发现经过系统工具裁剪或者旋转的图片在处理上需要注意一点: ...
- Android获取系统相册图片选中地址,获取手机中的所有图片地址自定义相册
一.获取手机中的值 1.首先在使用读写sd卡权限 2.获取手机中的所有图片: 注意代码中的getGalleryPhotos(getContentResolver()) 方法获取所有地址 获取所有图片地 ...
最新文章
- 【Windows10nbsp;IoT开发系列】“Hello,World!”指导
- jsPlumb.jsAPI阅读笔记(官方文档翻译)
- 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)
- zend 修改默认view路径,添加扩展view
- 【2012百度之星资格赛】G:聊天就是Repeat
- python tkinter背景图片_如何在tkinter中有背景图像和按钮?
- 具有左,中或右对齐项的Bootstrap NavBar
- 生成器 Generators
- IDE警告信息不应该被忽略
- 数据分析为周杰伦打榜的夕阳红老年团,告诉你他们真实年龄!
- 最近收到邮件美国招聘软件工程师,说明缺人?
- mysql var目录很快_mysql的这些坑你踩过吗?快来看看怎么优化mysql
- android贪吃蛇设计报告,贪吃蛇游戏报告毕业设计android
- HTML5期末大作业:书店商城系统网站设计——响应式图书电商HTML 网上书店模板 (25页) HTML+CSS+JavaScript
- 【Latex】模板设置及使用教程
- 天知道-网络应用-Vue小案例-黑马程序员
- 计算机怎么更改网络密码,该如何修改自家宽带帐号的密码?
- C# 后端代码中使用事务
- JS 更合理的随机分组
- GitHub新手使用教学(从安装到使用)
热门文章
- SQLITE_ERROR - table sap_capire_bookshop_books has no column named currency
- SAP Spartacus ConsentTemplate 数据结构的暴露逻辑
- SAP ABAP ADBC和Java JDBC的使用比较
- 重新安装SCCM 2012 client,解决Windows10 1909在线更新问题
- 通过公式处理SAP Analytics Cloud里的dimension,使其符合Date格式需求
- 如何给腾讯云域名申请免费的SSL证书
- when is OData model initialized - finally found done by Framework
- no router configuration contained in extension component metadata
- SALES_ORG_RESP_SHORT and SALES_ORG_SHORT
- 使用数据库表查询的方式直接获得CRM服务订单的sold to party信息