Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6751753
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T12:57:52+00:00 2026-05-26T12:57:52+00:00

I have been trying to implement this code , where i capture a image

  • 0

I have been trying to implement this code , where i capture a image from the camera and display it in my image viewer and then can set it as a wallpaper. It is working fine in my emulator but on my phone, when i take the image and click ok-it force closes. any help ?

ImageButton ib;
Button b;
ImageView iv;
Intent i;
final static int cameraData = 0;
Bitmap bmp;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.photo);
    initialize();
    InputStream is = getResources().openRawResource(R.drawable.icon);
    bmp = BitmapFactory.decodeStream(is);
}

private void initialize() {
    iv = (ImageView) findViewById(R.id.ivReturnedPic);
    ib = (ImageButton) findViewById(R.id.ibTakePic);
    b = (Button) findViewById(R.id.bSetWall);
    b.setOnClickListener(this);
    ib.setOnClickListener(this);
}

public void onClick(View v) {
    switch (v.getId()) {
    case R.id.bSetWall:
        try {
            getApplicationContext().setWallpaper(bmp);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        break;
    case R.id.ibTakePic:
        i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
        startActivityForResult(i, cameraData);
        break;
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        bmp = (Bitmap) extras.get("data");
        iv.setImageBitmap(bmp);
    }
}

It is driving me crazy!

Here is the error in the logcat i think,

09-04 09:07:49.034: VERBOSE/com.miui.camera.CameraHolder(7499): camera released
09-04 09:07:49.064: WARN/System.err(7463): java.lang.NullPointerException
09-04 09:07:49.064: WARN/System.err(7463):     at com.aradhya.helloandroid.Camera.onActivityResult(Camera.java:72)
09-04 09:07:49.064: WARN/System.err(7463):     at android.app.Activity.dispatchActivityResult(Activity.java:3932)
09-04 09:07:49.064: WARN/System.err(7463):     at android.app.ActivityThread.deliverResults(ActivityThread.java:2536)
09-04 09:07:49.064: WARN/System.err(7463):     at android.app.ActivityThread.handleSendResult(ActivityThread.java:2582)
09-04 09:07:49.074: WARN/System.err(7463):     at android.app.ActivityThread.access$2000(ActivityThread.java:117)
09-04 09:07:49.074: WARN/System.err(7463):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:961)
09-04 09:07:49.074: WARN/System.err(7463):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-04 09:07:49.094: WARN/System.err(7463):     at android.os.Looper.loop(Looper.java:130)
09-04 09:07:49.094: WARN/System.err(7463):     at android.app.ActivityThread.main(ActivityThread.java:3694)
09-04 09:07:49.094: WARN/System.err(7463):     at java.lang.reflect.Method.invokeNative(Native Method)
09-04 09:07:49.094: WARN/System.err(7463):     at java.lang.reflect.Method.invoke(Method.java:507)
09-04 09:07:49.094: WARN/System.err(7463):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
09-04 09:07:49.104: WARN/System.err(7463):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
09-04 09:07:49.104: WARN/System.err(7463):     at dalvik.system.NativeStart.main(Native Method)
09-04 09:07:49.204: VERBOSE/com.miui.camera.Camera(7499): stopPreview
09-04 09:07:49.214: ERROR/com.miui.camera.ui.FocusRectangle(7499): clear
09-04 09:07:49.373: VERBOSE/com.miui.camera.Camera(7499): onStop
09-04 09:07:49.383: VERBOSE/com.miui.camera.Camera(7499): onDestroy
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T12:57:52+00:00Added an answer on May 26, 2026 at 12:57 pm

    Looks like your rom is MIUI (or you are using the MUI camera)

    I’m doing some android development with my HTC Desire on MIUI and it looks like the returned intent data from the camera is different to the usual intent data returned from androids native camera; you need to alter the activity result to accept the data from MIUI camera (I’m currently looking into this i will post my solution if I can work it out)

    EDIT: Ok I’ve managed to sort the issue after investigating the miui camera intent: the returned data from the MIUI camera contains NO EXTRAS, but does contain a path to the image on the sdcard, so I’ve edited my onActivityResult accordingly to deal with the intent depending on what is in the returned data:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(requestCode == CAMERA_PIC_REQUEST)
        {
            if(resultCode == RESULT_OK)
            {
                if(data.hasExtra("data"))
                {
                    /* if the data has an extra called "data" we assume the returned data 
                     * is from the usual camera app*/
    
                    //retrieve the bitmap from the intent
                    Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
    
                    //update the image view with the bitmap
                    myImageView.setImageBitmap(thumbnail);
                }
                else if(data.getExtras()==null)
                {
                    /* if there are no extras we assume its the miui camera 
                     * (which returns the path to the image in the returned data)*/
                    Toast.makeText(getApplicationContext(), "No extras to retrieve!",Toast.LENGTH_SHORT).show();
    
                    //retrieve the path from the intent using data.getData().getPath() and create a BitmapDrawable using this path
                    BitmapDrawable thumbnail = new BitmapDrawable(getResources(), data.getData().getPath());
    
                    //update the image view with the newly created drawable
                    myImageView.setImageDrawable(thumbnail); 
    
                }
    
    
            }
            else if (resultCode == RESULT_CANCELED)
            {
                Toast.makeText(getApplicationContext(), "Cancelled",Toast.LENGTH_SHORT).show();
            }
    
        }
    }
    

    EDIT2: In my app i also have a picker to choose an existing picture from the sd card using the gallery, and have discovered the same problem for the MIUI gallery, so if you stick a image chooser in your app too this code for the onActivityResult works:

    else if (requestCode == GALLERY_REQUEST)
        {
            if(resultCode == RESULT_OK)
            {
                 if (data != null) {
                      //our BitmapDrawable for the thumbnail
                      BitmapDrawable bmpDrawable = null;
                      //try to retrieve the image using the data from the intent
                      Cursor cursor = getContentResolver().query(data.getData(), null, null, null, null);
                      if(cursor != null)
                      {
                          /*if the query worked the cursor will not be null, 
                           * so we assume the normal gallery was used to choose the picture*/
                          cursor.moveToFirst();  //if not doing this, 01-22 19:17:04.564: ERROR/AndroidRuntime(26264): Caused by: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
                          int idx = cursor.getColumnIndex(ImageColumns.DATA);
                          String fileSrc = cursor.getString(idx);
                          Bitmap bitmapPreview = BitmapFactory.decodeFile(fileSrc); //load preview image
                          bmpDrawable = new BitmapDrawable(bitmapPreview);//set the BitmapDrawable to the loaded image
                      }
                      else
                      {
                          /*if the cursor is null after the query the data returned is different so we assume 
                           * the miui gallery was used (so the data contains the path to the image)*/
                          bmpDrawable = new BitmapDrawable(getResources(), data.getData().getPath());
                      }
                      myImageView.setImageDrawable(bmpDrawable);//update our imageview with the BitmapDrawable
                  }
                  else {
                      Toast.makeText(getApplicationContext(), "Cancelled",Toast.LENGTH_SHORT).show();
                  }
            }
            else if (resultCode == RESULT_CANCELED)
            {
                Toast.makeText(getApplicationContext(), "Cancelled",Toast.LENGTH_SHORT).show();
            }
        }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've been trying to implement unit testing and currently have some code that does
I am currently trying to implement this into my current code: http://cubiq.org/iscroll I have
I have been trying to add/implement this example to my existing Split View app
I have this hashCode function that I have been trying to implement with Eclipse
I have been trying to implement Win32's MessageBox using GTK. The app uses SDL/OpenGL,
I have been trying to get around this error for a day now and
I've been trying to write an extend function so I can have bunch of
Simply I have been trying to implement what BufferedStreamReader does in Java. I have
I am new to design patterns, but I have been trying hard to implement
I have been trying with limited success to code a JSF application. In one

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.