求指导答,困扰已久:Android 调用相机返回的data空值问题

移动开发 码拜 5年前 (2016-09-11) 750次浏览
本人的代码是这样的:
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
03-19 10:03:48.956: E/AndroidRuntime(4845):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3162)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3205)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at android.app.ActivityThread.access$1100(ActivityThread.java:136)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1249)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at android.os.Looper.loop(Looper.java:137)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at android.app.ActivityThread.main(ActivityThread.java:4881)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at java.lang.reflect.Method.invokeNative(Native Method)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at java.lang.reflect.Method.invoke(Method.java:511)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:804)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:571)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at dalvik.system.NativeStart.main(Native Method)
03-19 10:03:48.956: E/AndroidRuntime(4845): Caused by: java.lang.NullPointerException
03-19 10:03:48.956: E/AndroidRuntime(4845):  at com.example.testcamera.MainActivity.onActivityResult(MainActivity.java:61)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at android.app.Activity.dispatchActivityResult(Activity.java:5274)
03-19 10:03:48.956: E/AndroidRuntime(4845):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3158)
03-19 10:03:48.956: E/AndroidRuntime(4845):  … 11 more

解决方案

20


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求指导答,困扰已久:Android 调用相机返回的data空值问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)