Sunday 15 July 2012

android.os.NetworkOnMainThreadException -



android.os.NetworkOnMainThreadException -

i trying set url notification's setlargeicon while doing got android.os.networkonmainthreadexception error , saw posts mention using asynctask, not know how implement code.

@override public void onreceive(final context context, intent intent) { log.d(tag, " start"); seek { if (intent == null) { log.d(tag, "receiver intent null"); } else { log.d(tag,intent.tostring()); string action = intent.getaction(); log.d(tag, "got action " + action ); string channel = intent.getextras().getstring("com.parse.channel"); jsonobject json = new jsonobject(intent.getextras().getstring("com.parse.data")); log.d(tag, "got action " + action + " on channel " + channel + " with:"); iterator itr = json.keys(); while (itr.hasnext()) { string key = (string) itr.next(); log.d(tag, "..."+key+ "=>" +json.getstring(key)); if (key.equals("customdata")) { log.d(tag,"1.0"); msg=json.getstring(key); log.d(tag,msg.tostring()); } log.d(tag,"1.1"); if(key.equals("image_url")) { msg1=json.getstring(key); log.d("msg1",msg1.tostring()); } } bitmap bitmap = getbitmapfromurl(msg1); } } grab (jsonexception e) { log.d(tag, "jsonexception: " + e.getmessage()); } } public bitmap getbitmapfromurl(string strurl) { seek { url url = new url(strurl); httpurlconnection connection = (httpurlconnection) url.openconnection(); connection.setdoinput(true); connection.connect(); inputstream input = connection.getinputstream(); bitmap mybitmap = bitmapfactory.decodestream(input); homecoming mybitmap; } grab (ioexception e) { e.printstacktrace(); homecoming null; } }

you can utilize asynctask as:

class loadbitmaps extends asynctask<string, void, void> { @override protected void onpreexecute() { // todo auto-generated method stub super.onpreexecute(); // // show progress of loading images } @override protected void doinbackground(string... str) { seek { url url = new url(str[0]); httpurlconnection connection = (httpurlconnection) url.openconnection(); connection.setdoinput(true); connection.connect(); inputstream input = connection.getinputstream(); bitmap mybitmap = bitmapfactory.decodestream(input); } grab (ioexception e) { e.printstacktrace(); } homecoming null; } @override protected void onpostexecute(void v) { // } }

android android-asynctask

No comments:

Post a Comment