Android开发 调用照相机实现代码和注意事项
2015-05-22 22:02
295 查看
转自:http://blog.csdn.net/onlyonecoder/article/details/8463799/
准备工作:设置 调用相机的回调码 和 设置 调用照相机拍照后保存图片的位置,名称,及后缀名(图片类型)
[java] view
plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
private int xiangji=3;
rivate File sdcardTempFile = new File("/mnt/sdcard/", "tmp_pic_" + SystemClock.currentThreadTimeMillis() + ".jpg");
在button监听器中调用相机:
[java] view
plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
//调用系统照相机拍照
bt4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
Uri u=Uri.fromFile(sdcardTempFile);
intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
intent.putExtra(MediaStore.EXTRA_OUTPUT, u);
intent.putExtra("return-data", true);
startActivityForResult(intent, xiangji);
}
});
[java] view
plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
回调函数中接收图片:
[java] view
plaincopy<
11370
a href="https://code.csdn.net/snippets/337283" title="在CODE上查看代码片" style="color:rgb(160,160,160);text-decoration:none;border:none;padding:1px;margin:0px 10px 0px 0px;font-size:9px;display:inline-block;background-color:inherit;">
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
System.out.println("requestCode"+requestCode);
switch (requestCode){
case 2:
Uri tuku_uri = data.getData();
System.out.println(tuku_uri.getPath());
ContentResolver tuku_cr = this.getContentResolver();
try {
bmp = BitmapFactory.decodeStream(tuku_cr.openInputStream(tuku_uri));
MCShareLaunchShareHelper.shareContentWithBitmap("测试分享本地图片", bmp, "your share url", "", MoxunActivity.this);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case 3:
try {
Uri xiangji_uri = Uri.parse(android.provider.MediaStore.Images.Media.insertImage(getContentResolver(), sdcardTempFile.getAbsolutePath(), null, null));
System.out.println(xiangji_uri.getPath());
ContentResolver xiangji_cr = this.getContentResolver();
bmp = BitmapFactory.decodeStream(xiangji_cr.openInputStream(xiangji_uri));
MCShareLaunchShareHelper.shareContentWithBitmap("测试照相机图片", bmp, "your share url", "", MoxunActivity.this);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//方法二
//if (requestCode == MyApp.CAMERA_RECODE) {
// try {
// bmp=BitmapFactory.decodeFile(sdcardTempFile.getAbsolutePath());
// img.setImageBitmap(bmp);
// picCount++;
// } catch (Exception e) {
// e.printStackTrace();
// }
//
// break;
// }
// }
}
准备工作:设置 调用相机的回调码 和 设置 调用照相机拍照后保存图片的位置,名称,及后缀名(图片类型)
[java] view
plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
private int xiangji=3;
rivate File sdcardTempFile = new File("/mnt/sdcard/", "tmp_pic_" + SystemClock.currentThreadTimeMillis() + ".jpg");
在button监听器中调用相机:
[java] view
plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
//调用系统照相机拍照
bt4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
Uri u=Uri.fromFile(sdcardTempFile);
intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
intent.putExtra(MediaStore.EXTRA_OUTPUT, u);
intent.putExtra("return-data", true);
startActivityForResult(intent, xiangji);
}
});
[java] view
plaincopy
![](https://code.csdn.net/assets/CODE_ico.png)
回调函数中接收图片:
[java] view
plaincopy<
11370
a href="https://code.csdn.net/snippets/337283" title="在CODE上查看代码片" style="color:rgb(160,160,160);text-decoration:none;border:none;padding:1px;margin:0px 10px 0px 0px;font-size:9px;display:inline-block;background-color:inherit;">
![](https://code.csdn.net/assets/CODE_ico.png)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
System.out.println("requestCode"+requestCode);
switch (requestCode){
case 2:
Uri tuku_uri = data.getData();
System.out.println(tuku_uri.getPath());
ContentResolver tuku_cr = this.getContentResolver();
try {
bmp = BitmapFactory.decodeStream(tuku_cr.openInputStream(tuku_uri));
MCShareLaunchShareHelper.shareContentWithBitmap("测试分享本地图片", bmp, "your share url", "", MoxunActivity.this);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
case 3:
try {
Uri xiangji_uri = Uri.parse(android.provider.MediaStore.Images.Media.insertImage(getContentResolver(), sdcardTempFile.getAbsolutePath(), null, null));
System.out.println(xiangji_uri.getPath());
ContentResolver xiangji_cr = this.getContentResolver();
bmp = BitmapFactory.decodeStream(xiangji_cr.openInputStream(xiangji_uri));
MCShareLaunchShareHelper.shareContentWithBitmap("测试照相机图片", bmp, "your share url", "", MoxunActivity.this);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//方法二
//if (requestCode == MyApp.CAMERA_RECODE) {
// try {
// bmp=BitmapFactory.decodeFile(sdcardTempFile.getAbsolutePath());
// img.setImageBitmap(bmp);
// picCount++;
// } catch (Exception e) {
// e.printStackTrace();
// }
//
// break;
// }
// }
}
相关文章推荐
- Android开发 调用照相机实现代码和注意事项
- Android开发 调用照相机实现代码和注意事项
- Android WebView使用之JavaScript调用Java代码注意事项
- Android(安卓)开发通过NDK调用JNI,使用opencv做本地c++代码开发配置方法实现边缘检测代码(2)
- android中利用webview调用网页上的js代码和注意事项
- android的HAL第一种调用hal方法中的HAL代码的实现:
- android的HAL第一种调用hal方法中的JNI代码的实现:
- android的HAL第一种调用hal方法中的Framework层代码的实现:
- android的HAL第一种调用hal方法中的APP层代码的实现:
- android的HAL第二种调用hal方法中的Framework层代码的实现:
- android的HAL第二种调用hal方法中的SystemServer (属于APP层)代码的实现:
- android的HAL第二种调用hal方法中的APP 测试程序(属于APP层)代码的实现:
- Android NDK C++开发注意事项总结
- Android NDK C++开发注意事项总结
- Android开发之手机铃声代码实现
- Android开发环境配置及注意事项
- Android开发环境配置注意事项
- Android开发环境配置注意事项
- Android开发,通迅薄的注意事项
- Android开发之手机铃声代码实现