大佬教程收集整理的这篇文章主要介绍了android – 在Nexus 7平板电脑中打开相机,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
try { // attempt to get a Front Camera instance c = Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT); } catch (Exception E) { // TODO Auto-generated catch block System.out .println("fail to connect to Front Camera"); } if (c == null) { try { // attempt to get a BACk Camera instance c = Camera.open(1); } catch (Exception E) { // TODO: handle exception System.out .println("fail to connect to Camera with id = 1"); } } if (c == null) { try { // attempt to get a BACk Camera instance c = Camera.open(0); } catch (Exception E) { // TODO: handle exception System.out .println("fail to connect to Camera with id = 0"); } } if (c == null) { try { // attempt to get a BACk Camera instance c = Camera.open(); } catch (Exception E) { // TODO: handle exception System.out .println("fail to connect to BACk Camera"); return c; }
其中c是Camera的对象.
它在除Nexus 7平板电脑之外的其他手机中运行良好.在Nexus 7中,代码在所有情况下抛出异常,除了最后一个,即c = Camera.open();,但对象c仍为null.
这是堆栈跟踪
11-22 12:36:57.559 W/System.err(7621): java.lang.NullPointerException 11-22 12:36:57.559 W/System.err(7621): at com.MyPackage.openCamera.getFrontCameraInstance(OpenCamera.java:238) 11-22 12:36:57.559 W/System.err(7621): at com.MyPackage.openCamera.onCreate(OpenCamera.java:123) 11-22 12:36:57.559 W/System.err(7621): at android.app.Activity.performCreate(Activity.java:5104) 11-22 12:36:57.559 W/System.err(7621): at android.app.instrumentation.callActivityOnCreate(instrumentation.java:1080) 11-22 12:36:57.559 W/System.err(7621): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 11-22 12:36:57.559 W/System.err(7621): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 11-22 12:36:57.559 W/System.err(7621): at android.app.ActivityThread.access$600(ActivityThread.java:141) 11-22 12:36:57.559 W/System.err(7621): at android.app.ActivityThread $H.handlemessage(ActivityThread.java:1234) 11-22 12:36:57.559 W/System.err(7621): at android.os.Handler.dispatchmessage(Handler.java:99) 11-22 12:36:57.559 W/System.err(7621): at android.os.Looper.loop (Looper.java:137) 11-22 12:36:57.559 W/System.err(7621): at android.app.ActivityThread.main (ActivityThread.java:5039) 11-22 12:36:57.559 W/System.err(7621): at java.lang.reflect.Method.invokeNative(Native Method) 11-22 12:36:57.559 W/System.err(7621): at java.lang.reflect.Method.invoke (Method.java:511) 11-22 12:36:57.559 W/System.err(7621): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:793) 11-22 12:36:57.559 W/System.err(7621): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 11-22 12:36:57.559 W/System.err(7621): at dalvik.system.NativeStart.main (Native Method) 11-22 12:36:57.559 I/System.out(7621): Error in setTing Parameter 11-22 12:36:57.609 I/Activitymanager(480): Displayed 11-22 12:36:57.679 W/System.err(7621): at android.LOCATIOn.Geocoder.getFromLOCATIOn(Geocoder.java:136) 11-22 12:36:57.679 W/System.err(7621): at com.MyPackage.openCamera. $myTimmer$1.run(OpenCamera.java:336) 11-22 12:36:57.679 W/System.err(7621): java.lang.NullPointerException 11-22 12:36:57.679 W/System.err(7621): at com.MyPackage.openCamera. $myTimmer$1.run(OpenCamera.java:344)
所以我不能用它来捕捉图像.
有什么办法吗
谢谢…
int cameraId = -1; Boolean errorFound = false; Boolean hasFeatCamera = getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA); if (hasFeatCamera) { try{ cameraId = CameraInfo.CAMERA_FACING_BACK; Camera.open(cameraId).release(); }catch(Exception E){ Camera.open(0).release(); } } else if(CameraInfo.CAMERA_FACING_FRONT>-1){ try{ cameraId = CameraInfo.CAMERA_FACING_FRONT; Camera.open(cameraId).release(); }catch(Exception E){ errorFound = true; } if(errorFound){ try{ Camera.open(0).release(); // Put in for Nexus 7 as CameraInfo.CAMERA_FACING_FRONT= 1 but it only loads if the id is actually 0 cameraId = 0; }catch(Exception E){ cameraId = -1; } } } if(cameraId<0){ Toast.makeText(this,"No camera found.",Toast.LENGTH_LONG).show(); }
以上是大佬教程为你收集整理的android – 在Nexus 7平板电脑中打开相机全部内容,希望文章能够帮你解决android – 在Nexus 7平板电脑中打开相机所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。