【发布时间】:2013-10-25 08:00:43
【问题描述】:
我有一个点击按钮相机活动的活动。有时 onActivityResult 被调用,有时不被调用。即使在重新启动设备后,onActivityResult 也不会被调用,也不会重新启动当前活动。这种奇怪的行为有什么解决办法吗?
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
String imageUri = data.toURI();
Uri uri = Uri.parse(imageUri);
try {
mBitmap = Media.getBitmap(getContentResolver(), uri);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// if result is ok returns the bitmap
// mBitmap = (Bitmap) data.getExtras().get("data");
mImageView.setImageBitmap(mBitmap);
new Thread(postTheImage).start();
} else {
Toast.makeText(getApplicationContext(), "Error during capturing the image", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (v.getId() == R.id.capture_image_button) {
// Open the camera to capture the image
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivityForResult(cameraIntent, CAMERA_REQUEST);
}
}
【问题讨论】:
-
您是否缺少 onActivityResult 上的覆盖指令?
-
会不会引起这么大的问题。它有时会工作并突然停止工作。
-
@Pork 'n' bunny 不起作用,有时不会调用 onActivityResult。
-
你能说明它是如何失败的吗?这只是模拟器吗?
-
嗯,我正在设备上试用。 Htc one x 并且在打开相机 5-6 次后 onActivityResult 方法不会被调用。我不知道为什么。甚至系统日志似乎也没有给出任何解释。 zi 在 samsung S3 中尝试了代码并遇到了同样的问题
标签: android android-activity android-camera