我有一些使用MediaStore.ACTION_IMAGE_CAPTURE意图捕获缩略图的代码。直到最近它一直在工作:-(
以下是我的代码:
protected void takePicture() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
if (intent.resolveActivity(getMainActivity().getPackageManager()) != null) {
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
} else {
Log.e(tag, ">>No Activity available to handle camera photo");
}
}
// ...
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK) {
enableUserInteraction(false);
Bitmap bmp = (Bitmap) data.getExtras().get("data");
}
} else {
// user canceled
}
}
(允许的东西省略了)
我的代码几乎是从以下android链接https://developer.android.com/training/camera/photobasics
复制而来的在运行Android 9的较新设备中,活动resultCode始终被取消,而相同的应用程序/代码仍可在较旧的Android版本上运行。
高度赞赏任何建议,修复或解决方法。