1

我在 Android 中使用相机意图时遇到了一些问题。我希望能够拍照并稍后使用该图片(检索 URI)。这是代码:

newPicBut.setOnClickListener(new OnClickListener(){

        @Override
        public void onClick(View arg0) {
            PhotoChoiceActivity.this.launchCameraIntent();
        }

    });

public void launchCameraIntent()
{
    //create camera intent              
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    //set fileUri
    MediaManager manager = new MediaManager();
    manager.setPictureName(currentItemToAdd.toString());
    intent.putExtra(MediaStore.EXTRA_OUTPUT, manager.getOutputMediaFileUri());      
    startActivityForResult(intent, 100);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    if(requestCode == 100){
        if(resultCode == RESULT_OK){
            Toast.makeText(getApplicationContext(), "Image saved to: " + data.getData(), Toast.LENGTH_LONG).show();
        }
    }
}

所以基本上按钮调用launchCameraIntent() 方法。MediaManager 创建一个文件,我使用 intent.putExtra 中的文件 URI 来指示文件应该保存在哪里。调用了相机意图,但问题出在:onActivityResult() 只有在我取消相机意图时才会触发。所以当我接受我拍摄的照片时,它根本不会被触发。

希望你能帮忙!

4

0 回答 0