导航:首页 > 操作系统 > android相机代码

android相机代码

发布时间:2022-09-01 11:44:42

android 开发,调用相机的相关代码

/**
* @Description 调用系统相机照相,获取原图像
* @param activity 就是你的mainactivity
* @param dir 拍照后保存在本地的图片路径
* @param filename 图片的名称
* @param cmd 返回的requestCode

* @return void
*/
public static boolean takePhoto(final Activity activity, final String dir,
final String filename, final int cmd) {
String filePath = dir + filename;

// final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Log.d("test", "MediaStore.ACTION_IMAGE_CAPTURE"
+ android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
final Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE == null ? "android.media.action.IMAGE_CAPTURE"
: android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
final File cameraDir = new File(dir);
if (!cameraDir.exists()) {
// return false;
cameraDir.mkdirs();
}

final File file = new File(filePath);
final Uri outputFileUri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
try {
activity.startActivityForResult(intent, cmd);

} catch (final ActivityNotFoundException e) {
return false;
}
return true;
}

然后在你的onactivityforresult方法里写:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

switch (requestCode) {
case PHOTOGRAPH://拍照
if (resultCode == RESULT_OK) {
String url = FileHelper.Get_SDCardPath() + Constant.HHXH_IMGDIR
+ BitmapUtil.tempPhoto;//图片路径,和你前面调用相册时设的路径一样
Bitmap bitmap = BitmapUtil
.extractThumbNail(url, 480, 320, true);//这里是根据本地路径获取图片并压缩的,这个我写的代码比较多就不上传了
findviewbyid(R.id.imgPhoto).setImageBitmap(bitmap);

}
}
}

② Android调用照相机和百度地图开发,百度地图显示界面覆盖了相机界面,求大神解答

android手机有自带的照相机和图库,我们做的项目中有时用到上传图片到服务器,今天做了一个项目用到这个功能,所以把我的代码记录下来和大家分享,有需求的朋友可以参考下

android手机有自带的照相机和图库,我们做的项目中有时用到上传图片到服务器,今天做了一个项目用到这个功能,所以把我的代码记录下来和大家分享,第一次写博客希望各位大神多多批评。

首先上一段调用android相册和相机的代码:

复制代码
代码如下:

Intent intent = new
Intent(MediaStore.ACTION_IMAGE_CAPTURE);//调用android自带的照相机
photoUri =
MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
startActivityForResult(intent,
1);

复制代码
代码如下:

Intent i = new Intent(Intent.ACTION_PICK,

android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);//调用android的图库

startActivityForResult(i, 2);

复制代码
代码如下:

@Override
protected void
onActivityResult(int requestCode, int resultCode, Intent data) {

//完成照相后回调用此方法
super.onActivityResult(requestCode, resultCode, data);

case 1:
switch (resultCode) {
case Activity.RESULT_OK://照相完成点击确定

String sdStatus = Environment.getExternalStorageState();
if
(!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用

Log.v("TestFile", "SD card is not avaiable/writeable right now.");

return; }
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap)
bundle.get("data");// 获取相机返回的数据,并转换为Bitmap图片格式
FileOutputStream b = null;

File file = new File("/sdcard/pk4fun/");
file.mkdirs();//
创建文件夹,名称为pk4fun //
照片的命名,目标文件夹下,以当前时间数字串为名称,即可确保每张照片名称不相同。网上流传的其他Demo这里的照片名称都写死了,则会发生无论拍照多少张,后一张总会把前一张照片覆盖。细心的同学还可以设置这个字符串,比如加上“IMG”字样等;然后就会发现sd卡中myimage这个文件夹下,会保存刚刚调用相机拍出来的照片,照片名称不会重复。

String str = null;
Date date = null;
SimpleDateFormat format = new
SimpleDateFormat("yyyyMMddHHmmss");// 获取当前时间,进一步转化为字符串
date = new
Date(resultCode);
str = format.format(date);
String fileName =
"/sdcard/myImage/" + str + ".jpg";
sendBroadcast(fileName);
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();
}
} break;
case Activity.RESULT_CANCELED://
取消
break;
}
break;
case 2:
switch (resultCode) {
case
Activity.RESULT_OK: {
Uri uri = data.getData();
Cursor cursor =
mActivity.getContentResolver().query(uri, null,
null, null, null);

cursor.moveToFirst();
String imgNo = cursor.getString(0); // 图片编号

String imgPath = cursor.getString(1); // 图片文件路径
String imgSize =
cursor.getString(2); // 图片大小
String imgName = cursor.getString(3); // 图片文件名

cursor.close();
// Options options = new BitmapFactory.Options();
//
options.inJustDecodeBounds = false;
// options.inSampleSize = 10;
//
Bitmap bitmap = BitmapFactory.decodeFile(imgPath, options);
}
break;

case Activity.RESULT_CANCELED:// 取消
break;
}
break;
}

③ android手机指令对应的信息用代码执行显示,如输入:*#06#可以显示IMEI串码,不知道程序要调用什么代码

程序要调用使用代码为*#*#4636#*#* 可以进入工程模式,可以开手机网关,也可以查手机电池信息 是否原装。安卓手机系统代码命令有以下方法:
1、*#*#4636#*#* 显示手机信息、电池信息、电池记录、使用统计数据、WIFI信息
2*#*#7780#*#* 重设为原厂设定,不会删除预设程序及SD卡档案
3、*2667*3855# 重设为原厂设定,会删除SD卡所有档案
4、*#*#34971539#*#* 显示相机相机韧体版本,或更新相机韧体
5、*#*#7594#*#* 当长按关机按钮时,会出现一个切换手机模式的窗口,可以用这个代码,直接变成关机按钮
6、*#*#273283*255*663282*#*#* 开启一个能让你备份媒体文件的地方,例如相片、声音等
7、*#*#197328640#*#* 启动服务模式,可以测试手机部分设置及更改设定WLAN、GPS及蓝牙测试代码
8、*#*#232338#*#* 显示WIFI MAC地址
9、*#*#1472365#*#* GPS测试
10、*#*#1575#*#* 其他GPS测试
11、*#*#232331#*# 蓝牙测试
12、*#*#232337#*# 显示蓝牙装置地址
13、*#*#8255#*#* 启动GTALK服务监视器
各项硬件测试
1、*#*#0283#*#* Packet Loopback
2、*#*#0*#*#* LCD测试
3、*#*#0842#*#* 装置测试,如震动、亮度
4、*#*#2663#*#* 触控屏幕版本
5、*#*#2664#*#* 触控屏幕测试
6、*#*#0588#*#* 接近感应器测试
7、*#*#3264#*#* 内存版本
8、*#06# 显示手机原厂出厂串号(移动通信国际识别码)

④ Android 如何调用相机或相册,设置不同两张图片在两个图片控件上 求代码

遇到android项目导入出现后重复空包等错误,往往是导入的java编译级别有关,点击项目properties->

java Compiler ->修改Compiler compliance level 一般是1.6。

修改完成clean项目之后,往往还会遇到:

gen already exists but is not a source folder. Convert to a source folder or rename it的错误。

遇到这个问题的解决方法:

1. 右键点击工程,选择 "Properties"

2. 选择左边的 "Java Build Path"

3. 打开 "Source" 标签面板

4. 点击 "Add Folder..."

5. 勾选 "gen" 文件夹,点击OK,点击YES,再点击OK

6. 最后右键点击工程,选择 "Andriod Tools" 里面的 "Fix Project Properties"

⑤ Android怎么调用系统相册将选中的图片设置为布局的背景,有没有案例或源码

Android中调用系统相机来拍摄照片的代码,如下:
1、首先设置Uri获取判断以及相机请求Code
public final int TYPE_TAKE_PHOTO = 1;//Uri获取类型判断

public final int CODE_TAKE_PHOTO = 1;//相机RequestCode
2、调起系统相机
Intent takeIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri photoUri = getMediaFileUri(TYPE_TAKE_PHOTO);
takeIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoUri);
startActivityForResult(takeIntent, CODE_TAKE_PHOTO);
3、封装获取Uri代码
public Uri getMediaFileUri(int type){
File mediaStorageDir = new File(Environment.(Environment.DIRECTORY_PICTURES), "相册名字");
if (!mediaStorageDir.exists()) {
if (!mediaStorageDir.mkdirs()) {
return null;
}
}
//创建Media File
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
File mediaFile;
if (type == TYPE_TAKE_PHOTO) {
mediaFile = new File(mediaStorageDir.getPath() + File.separator + "IMG_" + timeStamp + ".jpg");
} else {
return null;
}
return Uri.fromFile(mediaFile);
}
4、相机拍照完毕后获取返回数据,并在页面显示照片
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case CODE_TAKE_PHOTO:
if (resultCode == RESULT_OK) {
if (data != null) {
if (data.hasExtra("data")) {
Log.i("URI", "data is not null");
Bitmap bitmap = data.getParcelableExtra("data");
imageView.setImageBitmap(bitmap);//imageView即为当前页面需要展示照片的控件,可替换
}
} else {
Log.i("URI", "Data is null");
Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath());
imageView.setImageBitmap(bitmap);//imageView即为当前页面需要展示照片的控件,可替换
}
}
break;
}
}
特殊:
一般情况,以上代码在Android7.0以下,也就是api<24时,运行是没有任何问题的。可是当targetSdkVersion变成24及其以上并且在android7.0(及以上版本)系统运行时,会抛出异常:FileUriExposedException。

⑥ android 用AlertDialog启用相机权限的代码怎么写啊

/**
* @Description 调用系统相机照相,获取原图像
* @param activity 就是你的mainactivity
* @param dir 拍照后保存在本地的图片路径
* @param filename 图片的名称
* @param cmd 返回的requestCode

* @return void
*/
public static boolean takePhoto(final Activity activity, final String dir,
final String filename, final int cmd) {
String filePath = dir + filename;

// final Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Log.d("test", "MediaStore.ACTION_IMAGE_CAPTURE"
+ android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
final Intent intent = new Intent(
android.provider.MediaStore.ACTION_IMAGE_CAPTURE == null ? "android.media.action.IMAGE_CAPTURE"
: android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
final File cameraDir = new File(dir);
if (!cameraDir.exists()) {
// return false;
cameraDir.mkdirs();
}

final File file = new File(filePath);
final Uri outputFileUri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
try {
activity.startActivityForResult(intent, cmd);

} catch (final ActivityNotFoundException e) {
return false;
}
return true;
}

然后在你的onactivityforresult方法里写:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

switch (requestCode) {
case PHOTOGRAPH://拍照
if (resultCode == RESULT_OK) {
String url = FileHelper.Get_SDCardPath() + Constant.HHXH_IMGDIR
+ BitmapUtil.tempPhoto;//图片路径,和你前面调用相册时设的路径一样
Bitmap bitmap = BitmapUtil
.extractThumbNail(url, 480, 320, true);//这里是根据本地路径获取图片并压缩的,这个我写的代码比较多就不上传了
findviewbyid(R.id.imgPhoto).setImageBitmap(bitmap);

}
}
}

⑦ 一个关于android的问题,我通过下面的方法调用相机,可是怎么可以在拍照结束后获取照片的路径呢

Android调用系统拍照的代码:

  1. 创建Intent Intent openCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

    String imagePath = Environment.getExternalStorageDirectory() + "/image" ;

  2. 设置文件路径 File file = new File(imagePath);

    if(!file.exists()){

    file.mkdirs(); }

  3. 设置URI,指定相册拍照后保存图片的路径,Uri imageUri = Uri.fromFile(new File(imagePath, "image.jsp"));

    openCameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

    startActivityForResult(openCameraIntent, REQUEST_CODE_TAKING_PICTURES);

  4. 拍照完以后,文件就会保存在这个指定的目录下了。Uri 里指定了相机拍照的路径。

⑧ Android 自定义相机对焦问题

1、首先创建回调方法,代码如下:

触屏调用:设置surfaceView的触屏事件,在该事件中实现camera回调。

阅读全文

与android相机代码相关的资料

热点内容
菜鸟驿站app怎么邀请新人 浏览:443
电脑里总是有一些1k的文件夹 浏览:40
drm加密绝对安全 浏览:508
android灭屏流程 浏览:493
如何更改站点文件夹名字 浏览:894
如何看服务器几核 浏览:274
找酒吧设计公司用什么app 浏览:680
基本初等函数的导数公式及导数的运算法则 浏览:915
为什么小米app启动广告关不了 浏览:877
空调压缩机一直不停 浏览:511
养殖系统开发源码 浏览:82
pdf的目录 浏览:406
光遇安卓如何一个人拍视频 浏览:277
怨女pdf 浏览:708
扭曲服务器什么时候开 浏览:23
加密货币换平台 浏览:610
手机内存压缩软件 浏览:34
生成树是否与遍历算法有关 浏览:728
python强化学习迷宫 浏览:451
老包子解压视频 浏览:885