imageview - getting java.lang.classCastException:android.os.Bundle -


i trying show pic clicked camera on activity image view,but getting image out of bundle bitmaps.. error. code

package com.example.iwm;  import java.io.file;  import java.text.simpledateformat;   import android.net.uri; import android.os.build; import android.os.bundle; import android.os.environment; import android.annotation.suppresslint; import android.annotation.targetapi; import android.app.activity; import android.content.intent; import android.util.log; import android.view.menu; import android.widget.toast;  public class mainactivity extends activity {  private static final int capture_image_activity_request_code = 100; //private static final int result_ok = -1; private static final int media_type_image = 1;  public static bundle s = null; //public static string y ; private uri fileuri; private static intent intent; private static intent intent2;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);        // create intent take picture , return control calling application      intent = new intent(android.provider.mediastore.action_image_capture);      fileuri = getoutputmediafileuri(media_type_image); // create file save image     intent.putextra(android.provider.mediastore.action_image_capture, fileuri); // set image file name      // start image capture intent     startactivityforresult(intent, capture_image_activity_request_code);     //onactivityresult(capture_image_activity_request_code, int resultcode, intent) }   private uri getoutputmediafileuri(int type) {     // todo auto-generated method stub       return uri.fromfile(getoutputmediafile(type)); }  /** create file saving image or video */ @suppresslint("simpledateformat") private static file getoutputmediafile(int type){     // safe, should check sdcard mounted     // using environment.getexternalstoragestate() before doing this.      file mediastoragedir = new file(environment.getexternalstoragepublicdirectory(               environment.directory_pictures), "iwmp-images");     // location works best if want created images shared     // between applications , persist after app has been uninstalled.      // create storage directory if not exist     if (! mediastoragedir.exists()){         if (! mediastoragedir.mkdirs()){             log.d("iwmp-images", "failed create directory");             return null;         }     }      // create media file name     string timestamp = new simpledateformat("yyyymmdd_hhmmss").format(new java.util.date());     file mediafile;     if (type == media_type_image){         mediafile = new file(mediastoragedir.getpath() + file.separator +         "img_"+ timestamp + ".jpg");     }  else {         return null;     }      return mediafile; }  @targetapi(build.version_codes.honeycomb_mr1) @override  protected void onactivityresult(int requestcode, int resultcode, intent data) {     if (requestcode == capture_image_activity_request_code) {         if (resultcode == result_ok) {             // image captured , saved fileuri specified in intent            toast.maketext(this, "image saved to:\n" + fileuri, toast.length_long).show();             s =data.getextras();               intent2 = new intent(mainactivity.this,mainactivity2.class);               intent2.putextra("image", s);              intent2.setflags(intent.flag_activity_new_task);              getapplicationcontext().startactivity(intent2);            } else if (resultcode == result_canceled) {             // user cancelled image capture         } else {             // image capture failed, advise user              toast.maketext(this, "image not saved ", toast.length_long).show();         }     } } @override public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.activity_main, menu);     return true; }    }  ` 

from saving data(intent) in bundle s , sending activty2

my activity2 code

  package com.example.iwm;    import android.os.bundle;   import android.app.activity;   import android.graphics.bitmap;    import android.view.menu;   import android.view.view;   import android.widget.imageview;   import android.widget.textview;   public class mainactivity2 extends activity {  textview tx;  bitmap bmp;  imageview ivuserimage; @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main_activity2);     ivuserimage = (imageview)findviewbyid(r.id.image);     tx = (textview)findviewbyid(r.id.text1);     //tx.settext(mainactivity.y);  bundle bundle = getintent().getextras();  try  {  bmp =(bitmap)bundle.get("image");   }  catch(exception e)  {      tx.settext(e.tostring()); }  ivuserimage.setimagebitmap(bmp);  //int  i=10; }   public void upload(view view) {  }   @override public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.activity_main_activity2, menu);     return true; }    } 

can u try this

get image path after u taken camera this

protected void onactivityresult(int requestcode, int resultcode, intent data) { if (requestcode == capture_image_activity_request_code) {     if (resultcode == result_ok) {  final string[] imagecolumns = { mediastore.images.media._id,             mediastore.images.media.data };     final string imageorderby = mediastore.images.media._id + " desc";     cursor imagecursor = managedquery(             mediastore.images.media.external_content_uri, imagecolumns,             null, null, imageorderby);     if (imagecursor.movetofirst()) {          string pathoflasttakenimage = imagecursor.getstring(imagecursor                 .getcolumnindex(mediastore.images.media.data));     } } 

pass imagepath in bundle this

intent intent = new intent(mainactivity.this, mainactivity2.class);        bundle bundle = new bundle();     bundle.putstring("path", pathoflasttakenimage);      intent.putextras(bundle);      startactivity(intent); 

in activity use imagepath show image in imageview this

bundle b = getintent().getextras();    string path = b.getstring("path");      bitmapfactory.options opts = new bitmapfactory.options();         opts.insamplesize = 2; // 1/2 image loaded         bitmap thumb = bitmap.createscaledbitmap(                 bitmapfactory.decodefile(path, opts), 96, 96, false);         ivuserimage.setimagebitmap(thumb); 

let tell me what's problem in way u face.


Comments

Popular posts from this blog

.htaccess - First slash is removed after domain when entering a webpage in the browser -

Automatically create pages in phpfox -

c# - Farseer ContactListener is not working -