java - Android WebView for lollipop -


excuse me simple question,i'm beginner java , android developer. have developed app of webview, have choose file button , not working in lollipop. i've got image upload funtion gaunt face website. how should upload songs, videos, & documents?

the following code working image upload in lollipop.i use onshowfilechooser lollipop instead of openfilechooser

here code:

@suppresslint("setjavascriptenabled") public class mainactivity extends actionbaractivity {      webview webview;      progressbar progressbar;       private valuecallback<uri> muploadmessage;        private final static int filechooser_resultcode=1;     protected static final int input_file_request_code = 0;         @override        protected void onactivityresult(int requestcode, int resultcode,                                           intent intent) {         if(requestcode==filechooser_resultcode)         {          if (null == muploadmessage) return;                   uri result = intent == null || resultcode != result_ok ? null                           : intent.getdata();                   muploadmessage.onreceivevalue(result);                   muploadmessage = null;         }       }         @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);         webview webview = (webview) findviewbyid(r.id.webview);         progressbar = (progressbar) findviewbyid(r.id.progressbar);         webview.setwebviewclient(new mywebclient());         webview.getsettings().setjavascriptenabled(true);                 webview.loadurl("http:/www.freemailindia.in");         webview.setwebchromeclient(new webchromeclient()         {               //the undocumented magic method override               //eclipse swear @ if try put @override here            // android 3.0+          public void openfilechooser(valuecallback<uri> uploadmsg) {                 muploadmessage = uploadmsg;                intent = new intent(intent.action_get_content);                i.addcategory(intent.category_openable);                i.settype("image/*");                mainactivity.this.startactivityforresult(intent.createchooser(i,"file chooser"), filechooser_resultcode);                }        // android 3.0+          public void openfilechooser( valuecallback uploadmsg, string accepttype ) {          muploadmessage = uploadmsg;          intent = new intent(intent.action_get_content);          i.addcategory(intent.category_openable);          i.settype("*/*");          mainactivity.this.startactivityforresult(          intent.createchooser(i, "file browser"),          filechooser_resultcode);          }        //for android 4.1+          public void openfilechooser(valuecallback<uri> uploadmsg, string accepttype, string capture){              muploadmessage = uploadmsg;                intent = new intent(intent.action_get_content);                i.addcategory(intent.category_openable);                i.settype("*/*");                mainactivity.this.startactivityforresult( intent.createchooser( i, "file chooser" ),                      mainactivity.filechooser_resultcode );              intent chooserintent = new intent(intent.action_chooser);              startactivityforresult(chooserintent, input_file_request_code);           }          @override         public boolean onshowfilechooser(webview webview,                 valuecallback<uri[]> filepathcallback,                 filechooserparams filechooserparams) {             intent = new intent(intent.action_get_content);             i.addcategory(intent.category_openable);             i.settype("/*");             mainactivity.this.startactivityforresult( intent.createchooser( i, "file browser" ),             mainactivity.filechooser_resultcode );             i.putextra(intent.extra_intent, i);             i.putextra(intent.extra_title, "file browser");             i.putextra(intent.extra_initial_intents, i);                // todo auto-generated method stub             return true;         }         });           }       public class mywebclient extends webviewclient     {         @override         public void onpagefinished(webview view, string url) {             // todo auto-generated method stub             super.onpagefinished(view, url);             progressbar.setvisibility(view.gone);         }          @override         public void onpagestarted(webview view, string url, bitmap favicon) {             // todo auto-generated method stub             super.onpagestarted(view, url, favicon);         }          @override         public boolean shouldoverrideurlloading(webview view, string url) {             // todo auto-generated method stub             return super.shouldoverrideurlloading(view, url);         }           }        @override     public boolean onkeydown(int keycode, keyevent event)  {         // todo auto-generated method stub          return super.onkeydown(keycode, event);     }   } 

logcat

05-29 13:05:33.421: d/gralloc_goldfish(2026): emulator without gpu emulation detected. 05-29 13:05:38.111: i/dalvikvm(2026): not find method android.view.viewgroup.onnestedscrollaccepted, referenced method android.support.v7.internal.widget.actionbaroverlaylayout.onnestedscrollaccepted 05-29 13:05:38.111: w/dalvikvm(2026): vfy: unable resolve virtual method 11342: landroid/view/viewgroup;.onnestedscrollaccepted (landroid/view/view;landroid/view/view;i)v 05-29 13:05:38.111: d/dalvikvm(2026): vfy: replacing opcode 0x6f @ 0x0000 05-29 13:05:38.111: i/dalvikvm(2026): not find method android.view.viewgroup.onstopnestedscroll, referenced method android.support.v7.internal.widget.actionbaroverlaylayout.onstopnestedscroll 05-29 13:05:38.111: w/dalvikvm(2026): vfy: unable resolve virtual method 11348: landroid/view/viewgroup;.onstopnestedscroll (landroid/view/view;)v 05-29 13:05:38.111: d/dalvikvm(2026): vfy: replacing opcode 0x6f @ 0x0000 05-29 13:05:38.121: i/dalvikvm(2026): not find method android.support.v7.internal.widget.actionbaroverlaylayout.stopnestedscroll, referenced method android.support.v7.internal.widget.actionbaroverlaylayout.sethideoncontentscrollenabled 05-29 13:05:38.121: w/dalvikvm(2026): vfy: unable resolve virtual method 9036: landroid/support/v7/internal/widget/actionbaroverlaylayout;.stopnestedscroll ()v 05-29 13:05:38.121: d/dalvikvm(2026): vfy: replacing opcode 0x6e @ 0x000e 05-29 13:05:38.121: i/dalvikvm(2026): not find method android.content.res.typedarray.getchangingconfigurations, referenced method android.support.v7.internal.widget.tinttypedarray.getchangingconfigurations 05-29 13:05:38.121: w/dalvikvm(2026): vfy: unable resolve virtual method 364: landroid/content/res/typedarray;.getchangingconfigurations ()i 05-29 13:05:38.121: d/dalvikvm(2026): vfy: replacing opcode 0x6e @ 0x0002 05-29 13:05:38.121: i/dalvikvm(2026): not find method android.content.res.typedarray.gettype, referenced method android.support.v7.internal.widget.tinttypedarray.gettype 05-29 13:05:38.121: w/dalvikvm(2026): vfy: unable resolve virtual method 386: landroid/content/res/typedarray;.gettype (i)i 05-29 13:05:38.121: d/dalvikvm(2026): vfy: replacing opcode 0x6e @ 0x0002 05-29 13:05:38.131: v/webviewchromium(2026): binding chromium background looper looper (main, tid 1) {b20213f0} 05-29 13:05:38.141: i/chromium(2026): [info:library_loader_hooks.cc(112)] chromium logging enabled: level = 0, default verbosity = 0 05-29 13:05:38.141: i/browserprocessmain(2026): initializing chromium process, renderers=0 05-29 13:05:38.151: w/chromium(2026): [warning:proxy_service.cc(888)] pac support disabled because there no system implementation 05-29 13:05:38.161: e/chromium(2026): [error:gl_surface_egl.cc(153)] no suitable egl configs found. 05-29 13:05:38.161: e/chromium(2026): [error:gl_surface_egl.cc(620)] glsurfaceegl::initializeoneoff failed. 05-29 13:05:38.161: e/chromium(2026): [error:gl_surface_egl.cc(153)] no suitable egl configs found. 05-29 13:05:38.161: e/chromium(2026): [error:gl_surface_egl.cc(620)] glsurfaceegl::initializeoneoff failed. 05-29 13:05:38.161: e/chromium(2026): [error:gpu_info_collector.cc(86)] gfx::glsurface::initializeoneoff() failed 05-29 13:05:38.311: d/dalvikvm(2026): gc_for_alloc freed 147k, 3% free 6790k/6984k, paused 2ms, total 2ms 05-29 13:05:38.321: w/awcontents(2026): nativeondraw failed; clearing background color. 05-29 13:05:38.881: i/choreographer(2026): skipped 146 frames!  application may doing work on main thread. 05-29 13:05:38.881: w/awcontents(2026): nativeondraw failed; clearing background color. 05-29 13:05:40.291: i/choreographer(2026): skipped 34 frames!  application may doing work on main thread. 05-29 13:05:43.371: i/choreographer(2026): skipped 49 frames!  application may doing work on main thread.    ` 


Comments

Popular posts from this blog

Java 3D LWJGL collision -

spring - SubProtocolWebSocketHandler - No handlers -

methods - python can't use function in submodule -