Intent选择器案例
来源:互联网 发布:中国统计年鉴2016数据 编辑:程序博客网 时间:2024/06/09 06:55
@OnClick(R.id.iv_userinfo_avatar_edit)
public void setavatar(View v){
Intent intent1=new Intent(Intent.ACTION_PICK);
//点击编辑头像的小铅笔,弹出Intent Chooser
//从图库选择头像的intent
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");
//拍照intent
Intent intent2 = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File( Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),System.currentTimeMillis()+".jpg" );
cameraPath = file.getAbsolutePath();
//在BmobDemo项目中提交头像的地方,少写了一步
//在拍照后保存图片的时候会导致异常
//正确的写法是传入Uri,不是直接传入路径
Uri uri = Uri.fromFile(file);
intent2.putExtra(MediaStore.EXTRA_OUTPUT, uri);
//创建Intent Chooser
Intent chooser = Intent.createChooser(intent, "选择头像...");
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{intent2});
startActivityForResult(chooser, 101);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK&&requestCode==101){
if(data!=null){
//从图库中返回
//用户从图库中选择的图片,在图库中显示的地址
Uri uri=data.getData();
avatarView.setImageURI(uri);
//根据uri反查在磁盘中的地址
Cursor cursor=getContentResolver().query(uri, new String[]{MediaStore.Images.Media.DATA},
null, null, null);
cursor.moveToNext();
filePath=cursor.getString(0);
cursor.close();
}else{
//拍照返回
Options opts=new Options();
opts.inSampleSize=8;//压缩比例
filePath=cameraPath;
}
}
BmobProFile.getInstance(this).upload(filePath, new UploadListener() {
@Override
public void onError(int arg0, String arg1) {
avatarUrl = "";
showToastAndLog("上传头像失败,稍后重试", arg0+": "+arg1);
}
@Override
public void onSuccess(String arg0, String arg1, BmobFile arg2) {
//在上传完毕后的回调中为avatarUrl属性赋值
avatarUrl = arg2.getUrl();
//在ivAvatar中显示上传成功后的头像
ImageUtil.displayImage(avatarUrl, avatarView);
}
@Override
public void onProgress(int arg0) {
}
});
}
public void setavatar(View v){
Intent intent1=new Intent(Intent.ACTION_PICK);
//点击编辑头像的小铅笔,弹出Intent Chooser
//从图库选择头像的intent
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,"image/*");
//拍照intent
Intent intent2 = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File( Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),System.currentTimeMillis()+".jpg" );
cameraPath = file.getAbsolutePath();
//在BmobDemo项目中提交头像的地方,少写了一步
//在拍照后保存图片的时候会导致异常
//正确的写法是传入Uri,不是直接传入路径
Uri uri = Uri.fromFile(file);
intent2.putExtra(MediaStore.EXTRA_OUTPUT, uri);
//创建Intent Chooser
Intent chooser = Intent.createChooser(intent, "选择头像...");
chooser.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{intent2});
startActivityForResult(chooser, 101);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==RESULT_OK&&requestCode==101){
if(data!=null){
//从图库中返回
//用户从图库中选择的图片,在图库中显示的地址
Uri uri=data.getData();
avatarView.setImageURI(uri);
//根据uri反查在磁盘中的地址
Cursor cursor=getContentResolver().query(uri, new String[]{MediaStore.Images.Media.DATA},
null, null, null);
cursor.moveToNext();
filePath=cursor.getString(0);
cursor.close();
}else{
//拍照返回
Options opts=new Options();
opts.inSampleSize=8;//压缩比例
filePath=cameraPath;
}
}
BmobProFile.getInstance(this).upload(filePath, new UploadListener() {
@Override
public void onError(int arg0, String arg1) {
avatarUrl = "";
showToastAndLog("上传头像失败,稍后重试", arg0+": "+arg1);
}
@Override
public void onSuccess(String arg0, String arg1, BmobFile arg2) {
//在上传完毕后的回调中为avatarUrl属性赋值
avatarUrl = arg2.getUrl();
//在ivAvatar中显示上传成功后的头像
ImageUtil.displayImage(avatarUrl, avatarView);
}
@Override
public void onProgress(int arg0) {
}
});
}
0 0
- Intent选择器案例
- Intent 案例
- Intent创建选择器
- Intent.createChooser 应用选择器
- 简单的Intent案例
- jquery的选择器案例
- jQuery选择器案例
- jQuery选择器案例
- jquery选择器案例
- JQuery选择器案例
- jQuery选择器-综合案例
- android Intent.createChooser 应用选择器 !!!
- android Intent.createChooser 应用选择器
- android Intent.createChooser 应用选择器
- Android Intent.createChooser 应用选择器
- 01、CSS选择器(案例:计数器)
- android的intent大数据传输的案例
- Intent案例--判断电话号码是否符合规范
- 3163: [Heoi2013]Eden的新背包问题 多重背包
- 如何在 iOS 真机运行 Appium
- android的输入框EditText限制条件setFilters
- TCP/IP协议、报文格式、三次握手协议
- ElasticSearch实战-日志监控平台部署
- Intent选择器案例
- MYSQL 5.7.9 开启慢查询日志
- Pairs Forming LCM(素因子分解+lcm)
- fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- kubernetes如何使用https的webapi
- 小李开着白色跑车去云南旅游(新手)
- 76 - Minimum Window Substring
- 如何查看Android设备的CPU架构信息
- 什么是POP3、SMTP和IMAP?