onActivityResult()仅在取消Camera时触发

时间:2013-08-02 14:28:47

标签: android camera

我在Android中使用Camera intent时遇到了一些问题。我希望能够服用 一张图片并稍后使用该图片(检索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来指示文件的保存位置。调用Camera意图,但问题是:onActivityResult()仅在我取消相机意图时被触发。因此,当我接受我拍摄的照片时,它根本不会被触发。

希望你能帮忙!

0 个答案:

没有答案