在android联系人界面,点击添加头像后可以选择一个图像的部分区域来作为头像。
查看了一下代码,模仿着写了一段从文件中选择部分区域:
Java代码
  1. Intentintent=newIntent("com.android.camera.action.CROP");
  2. intent.setClassName("com.android.camera","com.android.camera.CropImage");
  3. Filefile=newFile(filePath);
  4. Uriuri=Uri.fromFile(file);
  5. intent.setData(uri);
  6. intent.putExtra("crop","true");
  7. intent.putExtra("aspectX",1);
  8. intent.putExtra("aspectY",1);
  9. intent.putExtra("outputX",96);
  10. intent.putExtra("outputY",96);
  11. intent.putExtra("noFaceDetection",true);
  12. intent.putExtra("return-data",true);
  13. startActivityForResult(intent,REQUEST_CROP_ICON);

在1.6系统上出现了选择图像界面,但是在2.1系统上程序崩溃,查看输出发现是没有权限。
试了Camera权限无效,上网搜索,原来2.1系统对这个调用进行了修改,uri不让传file:///了,只能传图库中的图片,比如此类uri:content://media/external/images/media/3,只好加了一步从图库中选取图像的步骤,在响应图库选择文件的处理函数中调用图片选取Activity,代码如下:
Java代码
  1. Intentintent=newIntent("com.android.camera.action.CROP");
  2. intent.setData(data.getData());//data是图库选取文件传回的参数
  3. intent.putExtra("crop","true");
  4. intent.putExtra("aspectX",1);
  5. intent.putExtra("aspectY",1);
  6. intent.putExtra("outputX",96);
  7. intent.putExtra("outputY",96);
  8. intent.putExtra("noFaceDetection",true);
  9. intent.putExtra("return-data",true);
  10. startActivityForResult(intent,REQUEST_CROP_ICON);

当图片选取Activity返回后,将选取的内容保存:
Java代码
  1. Bundleextras=data.getExtras();
  2. if(extras!=null){
  3. Bitmapphoto=extras.getParcelable("data");
  4. ByteArrayOutputStreamstream=newByteArrayOutputStream();
  5. photo.compress(Bitmap.CompressFormat.JPEG,75,stream);
  6. //将流写入文件或者直接使用
  7. }

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 一款常用的 Squid 日志分析工具
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. 判断当前应用程序处于前台还是后台 ANDROID
  7. 关于游戏开发的一些代码
  8. Android(安卓)Studio关联源代码
  9. Android(安卓)常用技术框架的基本使用

随机推荐

  1. Hello Android - proguard混淆器使用(签名
  2. android 弹出日期滑动选择框,日期滚动滑动
  3. 手机应用开发 第二节:PhoneGap and Dojo M
  4. 开源项目之Android Afinal框架
  5. Android下修改hosts文件
  6. android开机自启动APP及使用adb命令测试
  7. 红帆移动OA Android版开放公测!
  8. Adobe AIR for Android 中的GPU 渲染 [译
  9. App与Js交互(二)Android
  10. Android ListView组件中androiddrawSelec