在三星Galaxy S上以肖像模式"拍照并呈现"

yeh*_*ahs 8 android android-intent galaxy

我想简单地拍一张照片并用我的三星galaxy s在ImageView中呈现它.当我在风景上而不是在肖像上做它时工作正常.我没有得到任何错误或异常 - 只是没有得到任何东西......有很多关于这个主题的问题,它似乎有问题(关于相机方向的东西),但不能找出一个简单的最终解决方案"拍照并呈现"代码.这是我的(有问题的)代码不起作用:

private void setUpListeners() {
    takePicture.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View arg0) {
            Intent cameraIntent = new Intent(
                    android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
        }
    });
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
        if (requestCode == CAMERA_PIC_REQUEST) {
            Log.d("onActivityResult", "CAMERA_PIC_REQUEST returned");
            dishImage = (Bitmap) data.getExtras().get("data");
            if (dishImage==null)
                Log.d("onActivityResult", "dishImage==null");
            imageView = (ImageView) findViewById(R.id.dishinfodishimageview);
            imageView.setImageBitmap(dishImage);
            imageView.setVisibility(View.VISIBLE);
            takePicture.setVisibility(View.GONE);
            (new UploadImage()).execute(null);
        }
    } else {
        Log.e("onActivityResult",
                "no able to presenting the picture of the dish");
    }
Run Code Online (Sandbox Code Playgroud)

}

我只需要一个可以工作的代码(在任何设备上)或修复我的代码...... thx.

小智 1

我只能建议解决这个问题。在从共享首选项加载内容onActivityResult()期间,将结果保存在共享首选项中。onCreate我知道这是一个糟糕的解决方案,但这会让您继续前进,直到找到更好的答案。完成后不要忘记清除您的共享首选项,否则您的活动将始终使用旧数据进行初始化。