首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
移动开发
> 详细
调用android系统相机拍照并保存
时间:
2014-12-30 14:59:18
阅读:
158
评论:
0
收藏:
0
[点我收藏+]
标签:
[java]
view plain
copy
print
?
<span style=
"font-size:18px;">
package com.demo;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Locale;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.text.format.DateFormat;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
public
class MyCameraActivity
extends Activity {
/** Called when the activity is first created. */
private Button button;
@Override
public
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(
new OnClickListener() {
@Override
public
void onClick(View v) {
// TODO Auto-generated method stub
Intent intent =
new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent,
1);
}
});
}
@Override
protected
void onActivityResult(
int requestCode,
int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) {
// 检测sd是否可用
Log.i(
"TestFile",
"SD card is not avaiable/writeable right now.");
return;
}
String name =
new DateFormat().format(
"yyyyMMdd_hhmmss",Calendar.getInstance(Locale.CHINA)) +
".jpg";
Toast.makeText(
this, name, Toast.LENGTH_LONG).show();
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get(
"data");
// 获取相机返回的数据,并转换为Bitmap图片格式
FileOutputStream b =
null;
//???????????????????????????????为什么不能直接保存在系统相册位置呢????????????
File file =
new File(
"/sdcard/myImage/");
file.mkdirs();
// 创建文件夹
String fileName =
"/sdcard/myImage/"+name;
try {
b =
new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG,
100, b);
// 把数据写入文件
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
finally {
try {
b.flush();
b.close();
}
catch (IOException e) {
e.printStackTrace();
}
}
((ImageView) findViewById(R.id.imageView)).setImageBitmap(bitmap);
// 将图片显示在ImageView里
}
}
}
</span>
上一篇
android 调用系统图片浏览器并返回图片路径
下一篇
导入项目:某些项目因位于工作空间目录而被隐藏
顶
调用android系统相机拍照并保存
标签:
原文地址:http://www.cnblogs.com/xgjblog/p/4193472.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
关闭苹果IOS app自动更新
2021-07-29
开发一个即时通讯App
2021-07-28
iOS 跳转App Store进行评分
2021-07-26
诺基亚短信生成!太好玩了
2021-07-26
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
2021-07-26
Android系统编程入门系列之界面Activity响应丝滑的传统动画
2021-07-26
uniapp h5,app两端复制文本
2021-07-22
uni-app滚动视图容器(scroll-view)之监听上拉事件
2021-07-21
新型横向移动工具原理分析、代码分析、优缺点以及检测方案
2021-07-19
Android系统编程入门系列之界面Activity交互响应
2021-07-19
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!