拍照后相机不return到主activity
Camera does not return to main activity after taking picture
当主要 activity 启动时,它会直接启动 MediaStore.ACTION_IMAGE_CAPTURE 的意图
我实现了 onActivityResult 方法,但是当我拍照时它没有 return 返回主 activity,而是保留在相机应用程序中
这是代码:
final int REQUEST_TAKE_IMAGE = 1;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
}
@Override
protected void onStart() {
super.onStart();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if(intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, REQUEST_TAKE_IMAGE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQUEST_TAKE_IMAGE){
if(resultCode == RESULT_OK){
assert data != null;
Bundle extras = data.getExtras();
assert extras != null;
Bitmap bitmap = (Bitmap) extras.get("data");
imageView.setImageBitmap(bitmap);
}
}
}
尝试将 Intent 启动转移到按钮点击侦听器,我猜发生的事情是每当你的 activity 启动时,它会将人带回相机应用程序,因为 Intent 在启动时启动并且 activity 每次你试图将它带到前台时都会使用这个回调,即选择一个并期望它把你带回 activity.
当主要 activity 启动时,它会直接启动 MediaStore.ACTION_IMAGE_CAPTURE 的意图 我实现了 onActivityResult 方法,但是当我拍照时它没有 return 返回主 activity,而是保留在相机应用程序中
这是代码:
final int REQUEST_TAKE_IMAGE = 1;
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = findViewById(R.id.imageView);
}
@Override
protected void onStart() {
super.onStart();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if(intent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(intent, REQUEST_TAKE_IMAGE);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQUEST_TAKE_IMAGE){
if(resultCode == RESULT_OK){
assert data != null;
Bundle extras = data.getExtras();
assert extras != null;
Bitmap bitmap = (Bitmap) extras.get("data");
imageView.setImageBitmap(bitmap);
}
}
}
尝试将 Intent 启动转移到按钮点击侦听器,我猜发生的事情是每当你的 activity 启动时,它会将人带回相机应用程序,因为 Intent 在启动时启动并且 activity 每次你试图将它带到前台时都会使用这个回调,即选择一个并期望它把你带回 activity.