我有一个使用android相机应用程序保存照片的问题。我制作了一个带有输入元素的HTML5文件,如:
<input type="file" accept="image/*;capture=camera" />
这样我就可以捕捉照片,显示拍摄的照片后,相机应用程序和照片被直接返回到HTML对象,当我点击保存按钮下面的照片。当我试图在webview中打开这个页面时,我发现我必须做一些技巧。到目前为止一切顺利。我可以打开相机拍一张照片。我的问题是:我如何才能显示最后一张照片,并将其保存到html对象,就像HTML5一样。我找不到显示最后一张照片的方法。HTML5很容易做到这一点,但我却被困在原生版本中。谢谢你的帮助…(顺便说一下,我使用eclipse和galaxy s3来测试本机应用程序。)
下面是我打开相机应用程序的代码。
活动代码:Intent i = new Intent(Intent.ACTION_PICK);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setType("image/*");
FileUploadTest.this.startActivityForResult(Intent.createChooser(i,"File Chooser"),
FILECHOOSER_RESULTCODE);
我看没有人对这个问题感兴趣。无论如何,我找到了解决方案,并想分享给任何感兴趣的人。
-
别忘了调用方法的"super"
-
不要忘记在每种情况下调用"onReceiveValue"。如果你不调用它,你的应用就会崩溃
@Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { try { super.onActivityResult(requestCode, resultCode, intent); if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) mUploadMessage.onReceiveValue(intent == null ? this.fileUri : intent.getData()); else mUploadMessage.onReceiveValue(null); } catch (Exception e) { Log.e("Error9", e.getLocalizedMessage()); mUploadMessage.onReceiveValue(null); } finally { mUploadMessage = null; } }