【发布时间】:2011-09-14 23:11:55
【问题描述】:
我有一个类可以访问本地相机来拍照。拍完照片后,它会保存在一个文件夹中,并且该照片将显示在一个新的活动中。
问题是,我尝试在拍摄照片后获取我放入意图的数据,但它总是说意图是null.pointer.exception。下面是我的课,请大家帮帮我。
import java.io.File;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class CameraTestActivity extends Activity {
Button start;
final int TAKE_PICTURE = 2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
start = (Button)findViewById(R.id.startButton);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
File file = new File(Environment.getExternalStorageDirectory().toString() + "/testImage/" + "toBeUpload.jpg");
Uri imageUri = Uri.fromFile(file);
Intent cameraIntent = new Intent("android.media.action.IMAGE_CAPTURE");
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
cameraIntent.putExtra("path", imageUri.toString());
startActivityForResult(cameraIntent,TAKE_PICTURE);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent intent)
{
super.onActivityResult(requestCode, resultCode, intent);
if(resultCode == RESULT_OK)
{
if(requestCode == TAKE_PICTURE)
{
/*ERRROR OCCUR HERE*/
Bundle extras = intent.getExtras();
}
}
}
}
【问题讨论】:
-
检查 logcat,他们会详细说明哪一行是错误并尝试解决它........检查意图是否为空??
标签: android