求大神解答,困扰已久:Android 调用相机返回的data空值有关问题
求大神解答,困扰已久:Android 调用相机返回的data空值问题
我的代码是这样的:
package com.example.testcamera;
import java.io.File;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import com.example.testcamera.R;
public class MainActivity extends Activity {
private static final int RESULT_CAPTURE_IMAGE = 1;
String fileName = Environment.getExternalStorageDirectory() + "/taxi51/download" + File.separator + "myHeader.jpg";
ImageView image = null;
Uri photoUri = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.img_persion);
image.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
Intent imageCaptureIntent = new Intent("android.media.action.IMAGE_CAPTURE");
imageCaptureIntent.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File(fileName)));
startActivityForResult(imageCaptureIntent, Activity.DEFAULT_KEYS_DIALER);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case RESULT_CAPTURE_IMAGE:
if (resultCode == -1) {
if(data.getExtras() == null)
{
System.out.println("data空的");
}else
{
System.out.println("data不是空的");
}
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");
image.setImageBitmap(bitmap);
}
break;
}
}
}
现在出现的错误代码如下:
03-19 10:03:48.946: W/dalvikvm(4845): threadid=1: thread exiting with uncaught exception (group=0x41876498)
03-19 10:03:48.956: E/AndroidRuntime(4845): FATAL EXCEPTION: main
03-19 10:03:48.956: E/AndroidRuntime(4845): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.example.testcamera/com.example.testcamera.MainActivity}: java.lang.NullPointerException
我的代码是这样的:
package com.example.testcamera;
import java.io.File;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import com.example.testcamera.R;
public class MainActivity extends Activity {
private static final int RESULT_CAPTURE_IMAGE = 1;
String fileName = Environment.getExternalStorageDirectory() + "/taxi51/download" + File.separator + "myHeader.jpg";
ImageView image = null;
Uri photoUri = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image = (ImageView) findViewById(R.id.img_persion);
image.setOnClickListener(new OnClickListener(){
public void onClick(View v)
{
Intent imageCaptureIntent = new Intent("android.media.action.IMAGE_CAPTURE");
imageCaptureIntent.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File(fileName)));
startActivityForResult(imageCaptureIntent, Activity.DEFAULT_KEYS_DIALER);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case RESULT_CAPTURE_IMAGE:
if (resultCode == -1) {
if(data.getExtras() == null)
{
System.out.println("data空的");
}else
{
System.out.println("data不是空的");
}
Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");
image.setImageBitmap(bitmap);
}
break;
}
}
}
现在出现的错误代码如下:
03-19 10:03:48.946: W/dalvikvm(4845): threadid=1: thread exiting with uncaught exception (group=0x41876498)
03-19 10:03:48.956: E/AndroidRuntime(4845): FATAL EXCEPTION: main
03-19 10:03:48.956: E/AndroidRuntime(4845): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.example.testcamera/com.example.testcamera.MainActivity}: java.lang.NullPointerException