android - java.lang.IndexOutOfBoundsException: Invalid index 5, size is 4 -


this question has answer here:

i try run camera cipher of guardian project, when push button got force close. here logcat file:

07-26 06:49:02.639 27157-27157/info.guardianproject.iocipher.camera e/androidruntime: fatal exception: main process: info.guardianproject.iocipher.camera, pid: 27157 java.lang.runtimeexception: unable resume activity {info.guardianproject.iocipher.camera/info.guardianproject.iocipher.camera.stillcameraactivity}: java.lang.indexoutofboundsexception: invalid index 5, size 4 @ android.app.activitythread.performresumeactivity(activitythread.java:2774) @ android.app.activitythread.handleresumeactivity(activitythread.java:2803) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2238) @ android.app.activitythread.access$800(activitythread.java:135) @ android.app.activitythread$h.handlemessage(activitythread.java:1196) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:136) @ android.app.activitythread.main(activitythread.java:5001) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:515) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:785) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:601) @ dalvik.system.nativestart.main(native method) caused by: java.lang.indexoutofboundsexception: invalid index 5, size 4 @ java.util.arraylist.throwindexoutofboundsexception(arraylist.java:255) @ java.util.arraylist.get(arraylist.java:308) @ info.guardianproject.iocipher.camera.camerabaseactivity.trycreatecamera(camerabaseactivity.java:222) @ info.guardianproject.iocipher.camera.camerabaseactivity.initcamera(camerabaseactivity.java:180) @ info.guardianproject.iocipher.camera.camerabaseactivity.onresume(camerabaseactivity.java:174) @ info.guardianproject.iocipher.camera.stillcameraactivity.onresume(stillcameraactivity.java:107) @ android.app.instrumentation.callactivityonresume(instrumentation.java:1192) @ android.app.activity.performresume(activity.java:5310) @ android.app.activitythread.performresumeactivity(activitythread.java:2764) @ android.app.activitythread.handleresumeactivity(activitythread.java:2803)  @ android.app.activitythread.handlelaunchactivity(activitythread.java:2238)  @ android.app.activitythread.access$800(activitythread.java:135)  @ android.app.activitythread$h.handlemessage(activitythread.java:1196)  @ android.os.handler.dispatchmessage(handler.java:102)  @ android.os.looper.loop(looper.java:136)  @ android.app.activitythread.main(activitythread.java:5001)  @ java.lang.reflect.method.invokenative(native method)  @ java.lang.reflect.method.invoke(method.java:515)  @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:785)  @ com.android.internal.os.zygoteinit.main(zygoteinit.java:601)  @ dalvik.system.nativestart.main(native method)

and stillcamera.java file:

public class stillcameraactivity extends camerabaseactivity {      private string mfilebasepath = null;      private boolean isrequest = false;     private arraylist<string> mresultlist = null;       @override     public void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         mfilebasepath = getintent().getstringextra("basepath");          isrequest = getintent().getaction() != null && getintent().getaction().equals(mediastore.action_image_capture);         mresultlist = new arraylist<string>();          button.setbackgroundresource(r.drawable.ic_action_camera);         buttonselfie.setbackgroundresource(r.drawable.ic_action_switch_camera);     }      @override     public void onpicturetaken(final byte[] data, camera camera) {               file filesecurepicture;         try {              if (overlayview != null)                 overlayview.setbackgroundresource(r.color.flash);              long mtime = system.currenttimemillis();             filesecurepicture = new file(mfilebasepath,"secure_image_" + mtime + ".jpg");              bufferedoutputstream out = new bufferedoutputstream(new fileoutputstream(filesecurepicture));             out.write(data);             out.flush();             out.close();              mresultlist.add(filesecurepicture.getabsolutepath());              intent intent = new intent("new-media");               // can include data.               intent.putextra("media", filesecurepicture.getabsolutepath());               localbroadcastmanager.getinstance(this).sendbroadcast(intent);              intent intentresult = new intent().putextra(mediastore.extra_output, mresultlist.toarray(new string[mresultlist.size()]));                       setresult(activity.result_ok, intentresult);              view.postdelayed(new runnable()             {                 @override                 public void run() {                     overlayview.setbackgroundcolor(color.transparent);                      resumepreview();                 }             },100);           } catch (exception e) {             e.printstacktrace();             setresult(activity.result_canceled);          }      }      @override     public void onpause() {          super.onpause();     }      @override     public void onresume() {         super.onresume();     } }   

change this

intent intentresult = new intent().putextra(mediastore.extra_output, mresultlist.toarray(new string[mresultlist.size()]));                       setresult(activity.result_ok, intentresult); 

to

intent intentresult = new intent().putextra(mediastore.extra_output, mresultlist.toarray(new string[mresultlist.size() - 1]));                       setresult(activity.result_ok, intentresult); 

Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -