Your Java code isn't async, but your JSNI method and JS function are - the 
imageCapture() method is passing an async function to 
`navigator.camera.getPicture`, and expected it to return right away. 
Instead, your `imageCapture` method should take a java-annotated 
@JsFunction and pass that in place of onSuccess (and probably onFailure 
too).

On Wednesday, April 11, 2018 at 12:55:18 AM UTC-5, cRaZy cRuZz wrote:
>
> Here it is ...!
>
> -->I am calling cordova implementation from this coding. 
>
> //Handles imageCapture icon 
> final Image cameraIcon = new Image(ImageNameConstants.CAMERA);
> cameraIcon.setStylePrimaryName(StyleConstants.CONDITION_IMAGE);  
> cameraIcon.addClickHandler(new ClickHandler() {
> @Override
> public void onClick(ClickEvent event) {
> Log.debug("onClick");
> if (!isReadOnly() && isEditable()){
> if (ClientSettings.isMobileNative()){
>     * imageData = imageCapture(); //This  might wrong iam not getting 
> data.*
> FileContent fileContent = new FileContent();
> if (imageData != null){
> fileContent.setFileContent(imageData.getBytes());      
>     FileRPCServiceAsync cameraRpc = 
> ServiceFactory.getService(FileRPCService.class, FileContent.class);
> cameraRpc.saveFile(fileContent,
> new BaseAsyncCallback<FileContent>(messagePresenter) {
>     @Override
> public void handleSuccess(FileContent file) {
>     
> }
> @Override
> public boolean handleException(Throwable caught) {
> Log.error("Error in saving file status:"
> + ErrorMessageHandler.stringify(caught));
> return true;
> }
> }); 
> }
> } 
>
>                      private  native  String imageCapture()/*-{
> if ($wnd.isImageSupported()){ 
> return $wnd.imageCapture();
> }else{
> //var imageCaptureWidget = $doc.getElementById();
> alert("NO-image"); 
> } 
> }-*/; 
> });
>
> -->This my JS code.
>
> function isImageSupported(){
> var supported = true;
> return supported;
> }
> function imageCapture(){
> if(isImageSupported()){
> try {
>         navigator.camera.getPicture(onSuccess, onFail, {
>         quality: 50,
>         destinationType: Camera.DestinationType.DATA_URL,
>         sourceType: Camera.PictureSourceType.CAMERA
>     });
>     function onSuccess(imageData) {
>     
>         return *imageData*;
>     }
>
>     function onFail(message) {
>         alert('Failed because: ' + message);
>     }
> } catch(e){
> alert("CAPTURE-ERROR-Works On Mobile Devices Only.");
>   }
>    }
> } 
>
> please some one help me after taking image i need that base64 string in js 
> to  java async call, how to achieve this by using jsInterop.
>
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit+unsubscr...@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to