Bonjour,
Dans mon application, l'utilisateur prend une photo et il a la possibilité de la redimensionner ! J'ai trouvé sur le net la possibilité de cropper une image en la sélectionnant dans la galerie
Mais je ne veux pas que l'utilisateur puisse choisir la photo, mais que sa soit directement la photo prise ultérieurement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Intent photoPickerIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); photoPickerIntent.setType("image/*"); photoPickerIntent.putExtra("crop", "true"); photoPickerIntent.putExtra(MediaStore.EXTRA_OUTPUT, getTempUri()); photoPickerIntent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); startActivityForResult(photoPickerIntent, 0);
J'ai trouvé ce bout de code :
Seulement il me met une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 File mFile=new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/DCIM/Camera/1337169897869.jpg"); Intent intent = new Intent( "com.android.camera.action.CROP" ); intent.setType( "image/*" ); intent.setClassName("com.android.camera", "com.android.camera.CropImage"); intent.setData(Uri.fromFile(mFile)); intent.putExtra("outputX", 100); intent.putExtra("outputY", 80); intent.putExtra("aspectX", 100); intent.putExtra("aspectY", 80); intent.putExtra("scale", true); intent.putExtra("noFaceDetection", true); intent.putExtra("output", Uri.parse(mFile.toString())); startActivityForResult(intent, 0);
Je n'ai rien ajouté dans mon Manifest mais il me semble que c'est un appel implicite a une activité d'Android. je ne sais pas pourquoi il ne trouve pas l'activité.J'ai vu que sa pouvait être lié aux versions d'android (2.x), mais je développe en 3.0
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 05-21 10:23:41.164: E/AndroidRuntime(3908): FATAL EXCEPTION: main 05-21 10:23:41.164: E/AndroidRuntime(3908): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.android/com.test.android.CropimgActivity}: 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? 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1817) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1833) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.ActivityThread.access$500(ActivityThread.java:124) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1026) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.os.Handler.dispatchMessage(Handler.java:99) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.os.Looper.loop(Looper.java:132) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.ActivityThread.main(ActivityThread.java:4134) 05-21 10:23:41.164: E/AndroidRuntime(3908): at java.lang.reflect.Method.invokeNative(Native Method) 05-21 10:23:41.164: E/AndroidRuntime(3908): at java.lang.reflect.Method.invoke(Method.java:491) 05-21 10:23:41.164: E/AndroidRuntime(3908): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 05-21 10:23:41.164: E/AndroidRuntime(3908): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 05-21 10:23:41.164: E/AndroidRuntime(3908): at dalvik.system.NativeStart.main(Native Method) 05-21 10:23:41.164: E/AndroidRuntime(3908): 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? 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1504) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1382) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.Activity.startActivityForResult(Activity.java:3145) 05-21 10:23:41.164: E/AndroidRuntime(3908): at com.test.android.CropimgActivity.onCreate(CropimgActivity.java:48) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.Activity.performCreate(Activity.java:4411) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 05-21 10:23:41.164: E/AndroidRuntime(3908): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1781) 05-21 10:23:41.164: E/AndroidRuntime(3908): ... 11 more
Partager