Actually your code worked great. A minor edit on our part worked for us (host & password too of course).
Sharing what we did differently. We passed the list of file names as an array. Or you could do that individually.
String appFilePath = Environment.getExternalStorageDirectory().toString() + "/MyCameraApp";
ArrayList<String> files_to_upload = getFileNames(GetFiles(appFilePath));
File exportFile = new File(root, files_to_upload[0].get(iFile)); //This should be your example -> IMG_20140206_212035.jpg
boolean conStatus = false;
Session session = null;
.... your code above
//sftp.put("/sdcard/MyCameraApp/IMG_20140206_212035.jpg", "/");
sftp.put(new FileInputStream(exportFile), exportFile.getName());