android 返回结果。摘自csdn
来源:互联网 发布:seo原创文章怎么写 编辑:程序博客网 时间:2024/06/05 10:23
public static final int ACT_RESULT_SCANER = 1;// 二维码扫描后的结果
public static final int ACT_RESULT_FILE = 2;// 选择文件后的结果
public static final int ACT_RESULT_ALBUM = 3;// 选择图片后的结果
public static final int ACT_RESULT_CAMERA = 4;// 拍照后的结果
public static final int ACT_RESULT_CUT_IMG = 5;// 裁剪图片后的结果
public static final int ACT_RESULT_CARD_TEMPLET = 6;// 选择名片模板后的结果
public static final int ACT_RESULT_MSG_SEARCH = 7;// 选择查找消息的条件后的结果
/**
* 弹出选择文件对话框
* 接收文件重写:public void actResultFile(File file) {}
*/
public void showFileChooser() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(intent, "请选择一个文件"), ACT_RESULT_FILE);
}
public void actResultFile(File file) {}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) {return;}
try {
switch (requestCode) {
case ACT_RESULT_SCANER:actResultScaner(data.getExtras().getString("result"));break;
case ACT_RESULT_FILE:actResultFile(fileUtil.getFile(this, data.getData()));break;
case ACT_RESULT_ALBUM:actResultAlbum(fileUtil.getFile(this, data.getData()));break;
case ACT_RESULT_CAMERA:actResultCamera(new File(fileUtil.getRoot() + "/temp.jpg"));break;
case ACT_RESULT_CUT_IMG:actResultCutImg((Bitmap) data.getExtras().getParcelable("data"));break;
case ACT_RESULT_CARD_TEMPLET:actResultCardTemplet((CardTemplet) beanUtil.jsonToBean(data.getExtras().getString("result"), CardTemplet.class));break;
case ACT_RESULT_MSG_SEARCH:actResultMsgSearch((Message) beanUtil.jsonToBean(data.getExtras().getString("result"), Message.class));break;
default:break;
}
} catch (Exception e) {
logOut("onActivityResult", e);
}
}
/**
* 根据uri获得sd卡中的文件
* @param context 容器
* @param uri 选择的文件
* @return File
*/
public File getFile(Context context, Uri uri) {
if ("content".equalsIgnoreCase(uri.getScheme())) {
Cursor cursor = context.getContentResolver().query(uri, new String[] { MediaStore.Images.Media.DATA }, null, null, null);
if (null != cursor && cursor.moveToFirst() && isCardExist()) {
File file = new File(cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA)));
if (file.exists()) {return file;}
}
if (null != cursor) {cursor.close();}
} else if ("file".equalsIgnoreCase(uri.getScheme())) {
File file = new File(uri.getPath());
if (file.exists()) {return file;}
}
return null;
public static final int ACT_RESULT_FILE = 2;// 选择文件后的结果
public static final int ACT_RESULT_ALBUM = 3;// 选择图片后的结果
public static final int ACT_RESULT_CAMERA = 4;// 拍照后的结果
public static final int ACT_RESULT_CUT_IMG = 5;// 裁剪图片后的结果
public static final int ACT_RESULT_CARD_TEMPLET = 6;// 选择名片模板后的结果
public static final int ACT_RESULT_MSG_SEARCH = 7;// 选择查找消息的条件后的结果
/**
* 弹出选择文件对话框
* 接收文件重写:public void actResultFile(File file) {}
*/
public void showFileChooser() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(intent, "请选择一个文件"), ACT_RESULT_FILE);
}
public void actResultFile(File file) {}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != RESULT_OK) {return;}
try {
switch (requestCode) {
case ACT_RESULT_SCANER:actResultScaner(data.getExtras().getString("result"));break;
case ACT_RESULT_FILE:actResultFile(fileUtil.getFile(this, data.getData()));break;
case ACT_RESULT_ALBUM:actResultAlbum(fileUtil.getFile(this, data.getData()));break;
case ACT_RESULT_CAMERA:actResultCamera(new File(fileUtil.getRoot() + "/temp.jpg"));break;
case ACT_RESULT_CUT_IMG:actResultCutImg((Bitmap) data.getExtras().getParcelable("data"));break;
case ACT_RESULT_CARD_TEMPLET:actResultCardTemplet((CardTemplet) beanUtil.jsonToBean(data.getExtras().getString("result"), CardTemplet.class));break;
case ACT_RESULT_MSG_SEARCH:actResultMsgSearch((Message) beanUtil.jsonToBean(data.getExtras().getString("result"), Message.class));break;
default:break;
}
} catch (Exception e) {
logOut("onActivityResult", e);
}
}
/**
* 根据uri获得sd卡中的文件
* @param context 容器
* @param uri 选择的文件
* @return File
*/
public File getFile(Context context, Uri uri) {
if ("content".equalsIgnoreCase(uri.getScheme())) {
Cursor cursor = context.getContentResolver().query(uri, new String[] { MediaStore.Images.Media.DATA }, null, null, null);
if (null != cursor && cursor.moveToFirst() && isCardExist()) {
File file = new File(cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA)));
if (file.exists()) {return file;}
}
if (null != cursor) {cursor.close();}
} else if ("file".equalsIgnoreCase(uri.getScheme())) {
File file = new File(uri.getPath());
if (file.exists()) {return file;}
}
return null;
0 0
- android 返回结果。摘自csdn
- android面试题总结—摘自csdn
- 摘自csdn
- 摘自csdn
- android OSS 返回结果分析
- 程序员修养(摘自csdn)
- Log4Net 使用指南[摘自Csdn]
- 【摘自CSDN论坛】智力题
- Android 启动另外activity并返回结果
- android 打开新活动并返回结果
- Android Activity返回结果startActivityForResult函数
- 【Android 开发教程】从Intent返回结果
- android调用系统联系人返回联系人结果,
- Android Activity返回结果startActivityForResult函数
- Android 启动其他Activity并返回结果
- (Android review)打开Activity返回结果
- 【Android】启动其他Activity并返回结果
- android之无返回结果跳转intent
- partition操作
- LeetCode OJ:3Sum
- 制作支持2013新款Air和iMac的Win7安装U盘或移动硬盘
- LeetCode OJ:3Sum Closest
- DIRECT3D中透视投影矩阵的计算(已删除)
- android 返回结果。摘自csdn
- 软考信息系统项目管理师考试复习体会
- 带图的listview
- php BUG66613 PDOStatement::columnCount文档BUG
- 工厂(方法)模式->自定义版本
- LeetCode OJ:Longest Common Prefix
- 儿童安全座椅将实施强制性产品认证 未认证不得销售
- 通过在客户区拖动鼠标来移动窗口引发的一些问题
- vim乱码处理