捕获和显示图像

时间:2015-11-30 22:15:49

标签: java android webview android-camera android-camera-intent

因此,我尝试在内置相机意图的帮助下拍摄照片并将其显示在我的WebView中。

以下是我编写的代码:

centCamera.setOnClickListener(new View.OnClickListener(){

    public void onClick(View arg0) {
         count++;
        String file = dir+count+".jpg";
        File newfile = new File(file);
        try {
            newfile.createNewFile();
        } catch (IOException e) {}       

        Uri outputFileUri = Uri.fromFile(newfile);

        Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
        cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
        startActivityForResult(cameraIntent, TAKE_PHOTO_CODE);             
    }
});

它捕获图像,将其命名为count并将其保存在dir中。简单。现在困难的是,我无法在WebView

中显示这一点

这个代码应该是:

wv1.loadUrl(file)

我不知道该放哪条线的问题。例如,如果它放在onClick()中,WebView将显示" X上的网页可能会暂时停止..."

每个人都用这段代码回答类似的问题:

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if(requestCode == Globals.REQUEST_CODE_CAMERA) {
        if(resultCode == RESULT_OK) {
            this.onPhotoTaken();
        }
    }
}

添加它对我来说不起作用 - 我遇到了很多错误,只能通过添加导入来解决。

enter image description here

Globals cannot be resolved to a variable

RESULT_OK cannot be resolved to a variable

1 个答案:

答案 0 :(得分:1)

引用the documentation

  

有时您希望在活动结束时从结果中获取结果。例如,您可以启动一项活动,让用户在联系人列表中选择一个人;当它结束时,它返回被选中的人。要执行此操作,请使用标识该调用的第二个整数参数调用startActivityForResult(Intent, int)版本。结果将通过onActivityResult(int, int, Intent)方法返回。

引用the documentation for onActivityResult(),第一个传入的参数是:

  

最初提供给startActivityForResult()的整数请求代码,允许您识别此结果的来源。

因此,请将Globals.REQUEST_CODE_CAMERA替换为TAKE_PHOTO_CODE

关于RESULT_OKthat is defined on ActivityonActivityResult()需要在您调用Activity的{​​{1}}或Fragment上实施。如果是在startActivityForResult()上实施,请将Fragment替换为RESULT_OK