the activity is not present on all systems under that explicit package
name. try calling it with just the action, leaving out package and
classname in the intent

On Jan 27, 1:31 pm, GDroid <baron...@gmail.com> wrote:
> Hi,
>
> I'm testing this code on Motorola Milestone (2.0).
> And I get an exception when trying to launch the Cropper:
>
> 01-27 14:29:24.210: ERROR/AndroidRuntime(1895): Caused by:
> android.content.ActivityNotFoundException: Unable to find explicit
> activity class {com.android.camera/com.android.camera.CropImage}; have
> you declared this activity in your AndroidManifest.xml?
>
> When trying the same intent without the setClassName call I get this
> error:
>
> 01-27 14:15:46.483: ERROR/AndroidRuntime(1813): Caused by:
> android.content.ActivityNotFoundException: No Activity found to handle
> Intent { act=com.android.camera.action.CROP dat=file:///sdcard/
> tmp_contact_1264594532122.jpg (has extras) }
>
> Anyone?
>
> Also, there is no Constant for the Crop image intent. Can anyone from
> the Google/Android Framework team explain?
> It seems like it is there to be used but someone forgot to create the
> constant.
>
> Thanks
>
> On Dec 29 2009, 8:30 pm, Wysie <sohyuanc...@gmail.com> wrote:
>
> > Hi all,
>
> > After doing some reading, I realized it can't be done so simply. My
> > modded Contacts source is athttp://github.com/Wysie, you can take a
> > look if you're interested. Also, here's what I did to get it working:
>
> >     private void doTakePhotoAction() {
> >         //http://2009.hfoss.org/Tutorial:Camera_and_Gallery_Demo
> >         
> > //http://stackoverflow.com/questions/1050297/how-to-get-the-url-of-the-...
> >         //http://www.damonkohler.com/2009/02/android-recipes.html
> >         //http://www.firstclown.us/tag/android/
> >         // The one I used to get everything 
> > working:http://groups.google.com/group/android-developers/msg/2ab62c12ee99ba30
>
> >         Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
>
> >         //Wysie_Soh: Create path for temp file
> >         mImageCaptureUri = Uri.fromFile(new File
> > (Environment.getExternalStorageDirectory(),
> >                             "tmp_contact_" + String.valueOf
> > (System.currentTimeMillis()) + ".jpg"));
>
> >         intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,
> > mImageCaptureUri);
>
> >         try {
> >             intent.putExtra("return-data", true);
> >             startActivityForResult(intent, PICK_FROM_CAMERA);
> >         } catch (ActivityNotFoundException e) {
> >             //Do nothing for now
> >         }
> >     }
>
> >     protected void onActivityResult(int requestCode, int resultCode,
> > Intent data) {
> >         if (resultCode != RESULT_OK) {
> >             return;
> >         }
>
> >         switch (requestCode) {
>
> >         case CROP_FROM_CAMERA: {
> >             //Wysie_Soh: After a picture is taken, it will go to
> > PICK_FROM_CAMERA, which will then come here
> >             //after the image is cropped.
>
> >             final Bundle extras = data.getExtras();
>
> >             if (extras != null) {
> >                 Bitmap photo = extras.getParcelable("data");
>
> >                 mPhoto = photo;
> >                 mPhotoChanged = true;
> >                 mPhotoImageView.setImageBitmap(photo);
> >                 setPhotoPresent(true);
> >             }
>
> >             //Wysie_Soh: Delete the temporary
> > file
> >             File f = new File(mImageCaptureUri.getPath());
> >             if (f.exists()) {
> >                 f.delete();
> >             }
>
> >             InputMethodManager mgr = (InputMethodManager)
> > getSystemService(Context.INPUT_METHOD_SERVICE);
> >             mgr.showSoftInput(mPhotoImageView,
> > InputMethodManager.SHOW_IMPLICIT);
>
> >             break;
> >         }
>
> >         case PICK_FROM_CAMERA: {
> >             //Wysie_Soh: After an image is taken and saved to the
> > location of mImageCaptureUri, come here
> >             //and load thecropeditor, with the necessary parameters
> > (96x96, 1:1 ratio)
>
> >             Intent intent = new Intent
> > ("com.android.camera.action.CROP");
> >             intent.setClassName("com.android.camera",
> > "com.android.camera.CropImage");
>
> >             intent.setData(mImageCaptureUri);
> >             intent.putExtra("outputX", 96);
> >             intent.putExtra("outputY", 96);
> >             intent.putExtra("aspectX", 1);
> >             intent.putExtra("aspectY", 1);
> >             intent.putExtra("scale", true);
> >             intent.putExtra("return-data", true);
> >             startActivityForResult(intent, CROP_FROM_CAMERA);
>
> >             break;
>
> >         }
> >         }
> >     }
>
> > Hope it helps :)

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to