android - Why Would My Camera Intent Kill The App Only After Opening a Webview? -


so i'm experiencing seems odd me. have activity in application allows users take photo , send it, , works fine on own. however, if go part of application , start web view, , go camera, application killed take picture. have guess or know why is? i'm confused how webview such thing. works every time, without fail, until load webview activity.

void selectimage() {     try     {         intent intent = new intent                 (intent.action_pick, mediastore.images.media.external_content_uri);         startactivityforresult(intent, 0);     }      catch (exception e) {         log.d("exception:", e.tostring());         e.printstacktrace();     } }  void takephoto() {     try     {         intent intent = new intent(mediastore.action_image_capture);         startactivityforresult(intent, 1);     }     catch (exception e) {         log.d("exception:", e.tostring());         e.printstacktrace();     } }  @override protected void onactivityresult(int requestcode, int resultcode, intent data) {      try {         log.d("result code:", integer.tostring(resultcode));         if(data != null)             log.d("data results:", data.getdatastring());          if (resultcode == result_ok && data != null) {              if (requestcode == 0 || requestcode == 1) {                 intent intent = new intent(intent.action_send);                 intent.putextra(intent.extra_subject, "photo submission android");                 intent.putextra(intent.extra_email, new string[]{"a@b.com"});                 uri uri = data.getdata();                 intent.putextra(android.content.intent.extra_stream, uri);                 startactivityforresult(intent.createchooser(intent, "send photo!"), 2);             }         }     }      catch (exception e) { log.d("exception:", e.tostring()); e.printstacktrace(); } } 

and webview activity:;

public class activity_webview extends fragmentactivity {     static webview m_webview;     progressdialog m_progressdialog;     boolean m_firstload = true;     string m_requesttype = null;      string m_orderurl = "";  string m_facebookurl = "https://mobile.facebook.com/"; string m_twitterurl = "https://mobile.twitter.com/";  private class localwebviewclient extends webviewclient {     @override     public boolean shouldoverrideurlloading(webview view, string url) {         return false;     }      @override     public void onpagestarted(webview view, string url, bitmap favicon) {         super.onpagestarted(view, url, favicon);         try {             if (m_firstload) {                 m_progressdialog = new progressdialog(activity_webview.this);                 m_progressdialog.settitle("gathering data..");                 m_progressdialog.setmessage("one moment please");                 m_progressdialog.setcancelable(false);                 m_progressdialog.show();                 m_firstload = false;             }         } catch (exception e) {             e.printstacktrace();             log.d("error:", e.tostring());         }     }      @override     public void onpagefinished(webview view, string url) {         try {             if (m_progressdialog.isshowing())                 m_progressdialog.dismiss();             super.onpagefinished(view, url);         } catch (exception e) {             e.printstacktrace();             log.d("error:", e.tostring());         }     } }  @override public void finish() {     viewgroup view = (viewgroup) getwindow().getdecorview();     view.removeallviews();     super.finish(); }  @override public void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);      try {         string tempurl = "";         m_requesttype = getintent().getstringextra("requesttype");         switch (m_requesttype)         {             case "menu": {                 tempurl = m_orderurl;                 break;             }              case "facebook": {                 tempurl = m_facebookurl;                 break;             }              case "twitter": {                 tempurl = m_twitterurl;                 break;             }             default:                 break;         }          setcontentview(r.layout.activity_webview);         m_webview = (webview) findviewbyid(r.id.webview);         m_webview.setwebviewclient(new localwebviewclient());          m_webview.getsettings().setjavascriptenabled(true);         m_webview.getsettings().setloadwithoverviewmode(true);         m_webview.getsettings().setusewideviewport(true);         m_webview.getsettings().setbuiltinzoomcontrols(true);         m_webview.loadurl(tempurl);          m_firstload = true;     }      catch (exception e) { e.printstacktrace(); log.d("error:", e.tostring()); } } 

}

it's memory. web view consumes quite lot, , camera app needs quite lot. can try on emulator, playing size of ram.

actually, camera intent not special: try start rating intent - pattern similar.


Comments

Popular posts from this blog

1111. appearing after print sequence - php -

java - WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/board/] in DispatcherServlet with name 'appServlet' -

Ruby on Rails, ActiveRecord, Postgres, UTF-8 and ASCII-8BIT encodings -