Android 第二个活动中未显示来自摄像头的图片
我很抱歉来寻求别人的帮助,但我已经被这个问题困扰了一段时间,它让我发疯 我正试着从MainActivity拍摄一个按钮,它会把你放进相机并拍照。然后,它会带您进入下一个活动,在那里会预览同一张图像。但每当我到达下一个活动时,图像都不会显示,只是一个占位符。我做错了什么?我在代码中遗漏了什么吗 我一直在四处寻找并尝试使用Uri,但显然它不再被允许,因为您需要为该操作授予特定权限,因此建议使用FileProvider,但老实说,对于像我这样的初学者来说,这有点太难了。我试了好几个小时,还是失败了 主要活动Android 第二个活动中未显示来自摄像头的图片,android,android-activity,camera,imageview,Android,Android Activity,Camera,Imageview,我很抱歉来寻求别人的帮助,但我已经被这个问题困扰了一段时间,它让我发疯 我正试着从MainActivity拍摄一个按钮,它会把你放进相机并拍照。然后,它会带您进入下一个活动,在那里会预览同一张图像。但每当我到达下一个活动时,图像都不会显示,只是一个占位符。我做错了什么?我在代码中遗漏了什么吗 我一直在四处寻找并尝试使用Uri,但显然它不再被允许,因为您需要为该操作授予特定权限,因此建议使用FileProvider,但老实说,对于像我这样的初学者来说,这有点太难了。我试了好几个小时,还是失败了 主
public class MainActivity extends AppCompatActivity {
int CAPTURE_REQUEST;
Button button;
Bitmap thumbnail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View view) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAPTURE_REQUEST);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CAPTURE_REQUEST) {
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
sendImage();
}
}
}
private void sendImage() {
Intent intent = new Intent(MainActivity.this, NextActivity.class);
intent.putExtra("image", thumbnail);
startActivity(intent);
}}
下触觉
public class NextActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
ImageView imageView = (ImageView) findViewById(R.id.imageView);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_next);
Bundle extras = getIntent().getExtras();
if (extras != null) {
Bitmap image = (Bitmap) extras.get("image");
if (image != null) {
imageView.setImageBitmap(image);
}
}
}}
将ActivityResult更改为
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CAPTURE_REQUEST) {
thumbnail = (Bitmap) data.getExtras().get("data");
sendImage();
}
}
您正在使用局部声明重写全局变量 更改活动结果为
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == CAPTURE_REQUEST) {
thumbnail = (Bitmap) data.getExtras().get("data");
sendImage();
}
}
您正在使用局部声明重写全局变量 在函数sendImage()中,它是否包含正确的图像?我相信是这样。但我必须承认,Android研究告诉我,当我声明位图缩略图=(位图)yada yada时,它从未在其他任何地方使用过,即使我在函数sendImage()的sendImage()中使用它,它是否包含正确的图像?我相信是这样的。但我必须承认,Android研究告诉我,当我声明位图缩略图=(位图)yada-yada时,它从未在其他任何地方使用过,即使我在sendImage()中使用过它