我正在使用此代碼,但我的onActivityResult永遠不會被調用。我曾經提出請求,但沒有通過額外的意圖將圖像保存到SD卡,並且工作正常 - onActivityResult()
會按照我的預期調用。但是因爲我添加了SD卡代碼 - 沒有運氣!在Android中拍攝照片後未調用onActivityResult
我添加了(或錯過)了一些東西嗎?我以https://stackoverflow.com/a/12277455/2884981爲例。
這裏是我的代碼,
static final int CAPTURE_IMAGE_CALLBACK = 1;
private void dispatchTakePictureIntent()
{
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File photo = null;
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
if (android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))
{
photo = new File(android.os.Environment.getExternalStorageDirectory(), "myapp/images/" + File.separator + timeStamp + ".png");
}
else
{
photo = new File(getCacheDir(), "myapp/images/" + File.separator + timeStamp + ".png");
}
if (photo != null)
{
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
}
if (takePictureIntent.resolveActivity(getPackageManager()) != null)
{
startActivityForResult(takePictureIntent, CAPTURE_IMAGE_CALLBACK);
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
// This never gets hit!
if (requestCode == CAPTURE_IMAGE_CALLBACK)
{
// etc
我只是想我要補充,相機內部應用程序,一旦我點擊打勾 - 什麼也沒有發生。我反覆點擊勾號,它只停留在相機屏幕上。控制永遠不會返回到主應用程序。
我已經回答了這個問題之前 看看: http://stackoverflow.com/a/30266776/1531683 –