问题是:我一直在寻找这个问题的答案,到目前为止,我已经让它适用于htc手机自带的自定义相机应用程序。
我有下面的内容
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == REQUEST_FROM_CAMERA && resultCode == RESULT_OK) {
InputStream is=null;
File file=mInterface.getTempFile();
try {
is=new FileInputStream(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if(is==null){
try {
u = data.getData();
is=getContentResolver().openInputStream(u);
mInterface.saveStringPreferences(GlobalInterface.URI_SAVENAME, u.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
//Now "is" stream contains the required photo, you can process it
setImage(is);
}
//下面是调用intent的函数的代码:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(mInterface.getTempFile()));
startActivityForResult(intent, REQUEST_FROM_CAMERA);
剩下的函数getTempFile()将在/sdcard/blabla.tmp上创建一个临时文件,并在图像视图中创建一个设置捕获图像的函数。
所以问题是,我在lg手机上的自定义摄像头上测试了这段代码,它崩溃了。问题是:有没有办法获得图像位置的uri (我不需要特定的保存位置,它可以是相机的默认设置),还有一些我遇到的问题,我不需要解决,比如获取较小分辨率的图像。我只需要一个图像,并能够设置它在一个imageView和方法,以工作于每个相机应用程序,自定义或本机不管。
这是否可能,或者我需要为此创建一个新的camera类?在我看来,手机自带的相机应用程序更适合手机型号,所以我更喜欢使用它们,而不是构建一个定制的应用程序。
tnx。
发布于 2012-02-28 19:08:42
https://stackoverflow.com/questions/3859732
复制相似问题