因此,我尝试在内置相机意图的帮助下拍摄照片并将其显示在我的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();
}
}
}
添加它对我来说不起作用 - 我遇到了很多错误,只能通过添加导入来解决。
Globals cannot be resolved to a variable
RESULT_OK cannot be resolved to a variable
答案 0 :(得分:1)
有时您希望在活动结束时从结果中获取结果。例如,您可以启动一项活动,让用户在联系人列表中选择一个人;当它结束时,它返回被选中的人。要执行此操作,请使用标识该调用的第二个整数参数调用
startActivityForResult(Intent, int)
版本。结果将通过onActivityResult(int, int, Intent)
方法返回。
引用the documentation for onActivityResult()
,第一个传入的参数是:
最初提供给
startActivityForResult()
的整数请求代码,允许您识别此结果的来源。
因此,请将Globals.REQUEST_CODE_CAMERA
替换为TAKE_PHOTO_CODE
。
关于RESULT_OK
,that is defined on Activity
。 onActivityResult()
需要在您调用Activity
的{{1}}或Fragment
上实施。如果是在startActivityForResult()
上实施,请将Fragment
替换为RESULT_OK
。