java - Camera doesn't return Activity when checkmark is selected for captured photo -
still banging head on wall camera functionality of app working on. upon taking picture , pressing checkmark, emulator camera hangs , not return activity. selecting x , canceling return activity. looking this. thank all.
here onactivityresults() method
@override protected void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); /* if it's equal request_image_capture var, good. */ if (requestcode == request_image_capture && resultcode == result_ok) { selectedimage = imageuri; mpipepicimage.setimageuri(imageuri); } } here helper method creating imagefile
private file createimagefile() throws ioexception { /* create image file name */ string timestamp = new simpledateformat("yyyymmdd_hhmmss", locale.getdefault()).format(new date()); string imagefilename = "jpeg" + timestamp + "_"; file storagedir = new file(obj.getfilesdir(), "images"); if (!storagedir.getparentfile().mkdir()) { storagedir.getparentfile().mkdir(); } file image = new file(storagedir,imagefilename); /* save file: path use action_view intents */ mcurrentphotopath = "file:" + image.getabsolutepath(); return image; } checking photo permissions method
private boolean checkphotopermissions() { /* checking if have permissions here.*/ if(activitycompat.checkselfpermission(tallyactivity2.this, android.manifest.permission.camera) != packagemanager.permission_granted && activitycompat.checkselfpermission(tallyactivity2.this, manifest.permission.read_contacts) != packagemanager.permission_granted) { /* added contacts permissions */ /* checking see if equal or @ higher version marshmallow */ if (build.version.sdk_int >= build.version_codes.m) { /* system default popup box here ask permissions. */ activitycompat.requestpermissions(tallyactivity2.this, new string[]{android.manifest.permission.camera}, my_permissions_request_camera); /* added today trying prompt contacts*/ activitycompat.requestpermissions(tallyactivity2.this, new string[]{manifest.permission.read_contacts}, my_permissions_request_read_contacts); } return true; } else { /* snapping pic here. method.*/ dispatchtakephoto(); } return false; } and dispatchtakephoto() method
private void dispatchtakephoto() { intent takepictureintent = new intent(mediastore.action_image_capture); startactivity(takepictureintent); // worked if (takepictureintent.resolveactivity(getpackagemanager()) != null) { file photofile = null; try { photofile = createimagefile(); //log.i(tag,photofile+" (6) in dispatchtakephoto() after init"); } catch (ioexception e) { e.printstacktrace(); log.e(tag, ""+e); } if (photofile != null) { uri photouri = fileprovider.geturiforfile(tallyactivity2.this, "com.example.bigdaddy.pipelinepipetally.fileprovider", photofile); //takepictureintent.setflags(intent.flag_grant_read_uri_permission); takepictureintent.putextra(mediastore.extra_output, photouri); imageuri = uri.fromfile(photofile); startactivityforresult(takepictureintent, request_image_capture); } } }
Comments
Post a Comment