【发布时间】:2015-06-10 10:21:33
【问题描述】:
我是 android 新手,我正在尝试让我的手机摄像头拍照并在图像视图中显示它。当图像被捕获时,它被正确保存,但之后应用程序停止工作,当图像应该显示在图像视图中时。任何帮助表示赞赏。我搜索了一些主题,但仍然没有任何效果。 代码如下:
package myfirstapp.myapps.me.camera;
import ...
public class MainActivity extends ActionBarActivity {
ImageButton camBtn;
ImageView imageView;
ScrollView scrollView;
private File imageFile;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void OpenCam(View view) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imageFile=new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),"image.jpg");
Uri tempURI=Uri.fromFile(imageFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, tempURI);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, 0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0)//==0 the same where startActivityForResult(intent, 0) so we are in the same process
{
switch (resultCode){
case Activity.RESULT_OK:
if(imageFile.exists())
{
Toast.makeText(MainActivity.this, "Image was saved at "+imageFile.getAbsolutePath(), Toast.LENGTH_SHORT)
.show();
Bitmap myBitmap = BitmapFactory.decodeFile(imageFile.getAbsolutePath());
ImageView myImage = (ImageView) findViewById(R.id.imageView);
myImage.setImageBitmap(myBitmap);
}
else
{
Toast.makeText(MainActivity.this, "Image wasn't saved", Toast.LENGTH_SHORT)
.show();
}
break;
case Activity.RESULT_CANCELED:
Toast.makeText(MainActivity.this, "Image capture was cancelled", Toast.LENGTH_SHORT)
.show();
break;
}
}
}
}
堆栈跟踪
原因:java.lang.RuntimeException:传递结果失败 ResultInfo{who=null, request=0, result=-1, data=null} 到活动 {myfirstapp.myapps.me.camera/myfirstapp.myapps.me.camera.MainActivity}: java.lang.NullPointerException 在 android.app.ActivityThread.deliverResults(ActivityThread.java:3410) 在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:2817) 在 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2859)
【问题讨论】:
-
我是安卓新手,这是什么意思?
-
引起:java.lang.RuntimeException:将结果 ResultInfo{who=null, request=0, result=-1, data=null} 传递给活动 {myfirstapp.myapps.me.camera/ 失败myfirstapp.myapps.me.camera.MainActivity}:在 android.app.ActivityThread.deliverResults(ActivityThread.java:3410) 在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:2817) 的 java.lang.NullPointerException .ActivityThread.handleResumeActivity(ActivityThread.java:2859)
标签: java android camera imageview