android调用系统摄像头拍照并显示图片的问题,请高手看下程序哪里错了,执行 myimage.setImageBitmap异常
权限已经加了,myimage是ImageViewclassbuttonlistenimplementsOnClickListener{publicvoidonClick(...
权限已经加了,myimage是ImageView
class buttonlisten implements OnClickListener{
public void onClick (View v){
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent,1);
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
Bundle bm = data.getExtras();
Bitmap bitmap = (Bitmap)bm.get("data");
myimage.setImageBitmap(bitmap);
}
}
}
可以成功调用系统照相,但返回的时候异常中断。
去掉myimage.setImageBitmap(bitmap);时就没有问题了,但是怎么显示图片呢?
报错 bitmap = (Bitmap)bm.get("data");这个指针是空的。
加了super.onActivityResult(requestCode, resultCode, data);
可是bitmap = (Bitmap)bm.get("data");这个指针还是空,取不到照片的缩略图呀。 展开
class buttonlisten implements OnClickListener{
public void onClick (View v){
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent,1);
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
Bundle bm = data.getExtras();
Bitmap bitmap = (Bitmap)bm.get("data");
myimage.setImageBitmap(bitmap);
}
}
}
可以成功调用系统照相,但返回的时候异常中断。
去掉myimage.setImageBitmap(bitmap);时就没有问题了,但是怎么显示图片呢?
报错 bitmap = (Bitmap)bm.get("data");这个指针是空的。
加了super.onActivityResult(requestCode, resultCode, data);
可是bitmap = (Bitmap)bm.get("data");这个指针还是空,取不到照片的缩略图呀。 展开
1个回答
展开全部
在onActivityResult函数你忘记了这句 super.onActivityResult(requestCode, resultCode, data);
附上我的代码(和你的相对应的),你相对应地方如果有问题就对照吧
Intent i = new Intent(
"android.media.action.IMAGE_CAPTURE");
startActivityForResult(i,
Activity.DEFAULT_KEYS_DIALER);
//第二个函数
super.onActivityResult(requestCode, resultCode, data);
ivPic = (ImageView) findViewById(R.id.ivPic);
if (useCamera) {
if (resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
myBitmap = (Bitmap) extras.get("data");
ivPic.setImageBitmap(myBitmap);
hasPic = true;
ivPic.setVisibility(View.VISIBLE);
}
}
附上我的代码(和你的相对应的),你相对应地方如果有问题就对照吧
Intent i = new Intent(
"android.media.action.IMAGE_CAPTURE");
startActivityForResult(i,
Activity.DEFAULT_KEYS_DIALER);
//第二个函数
super.onActivityResult(requestCode, resultCode, data);
ivPic = (ImageView) findViewById(R.id.ivPic);
if (useCamera) {
if (resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
myBitmap = (Bitmap) extras.get("data");
ivPic.setImageBitmap(myBitmap);
hasPic = true;
ivPic.setVisibility(View.VISIBLE);
}
}
追问
能把你的代码 发到我邮箱里吗?顺便问下你的APK是2.2的版本吗
邮箱 wang12345da@sina.com
追答
1009480326@qq.com
已经发送。
我的代码除了摄像头还有从手机取出图片的功能,摄像机的你参照代码就好了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询