小编Elr*_*oid的帖子

com.android.camera.action.CROP在Motorola Defy上设置壁纸

我正在开发Android 2.1+应用程序并尝试拍摄照片,然后将该意图的结果发送到裁剪功能.它似乎适用于索尼爱立信xmp,但是当我把它放在Moto Defy上时,裁剪功能失败了,因为它似乎忽略了我为数据输入的文件名,而是/data/data/com.motorola.gallery/files/temp-wallpaper出于某种原因查看.这导致裁剪功能没有返回任何数据,我刚拍摄的图像被设置为手机的壁纸图像!这是一些示例代码:

public static final String SD_CARD_TEMP_DIR = Environment.getExternalStorageDirectory() + File.separator;
public static final String SD_CARD_TEMP_ORIG = SD_CARD_TEMP_DIR + "origPhoto.jpg";
public static final String SD_CARD_TEMP_CROP = SD_CARD_TEMP_DIR + "croppedPhoto.jpg";

Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(Uri.fromFile(new File(Const.SD_CARD_TEMP_ORIG)), "image/*");
intent.putExtra("crop", true);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 512);
intent.putExtra("outputY", 512);
intent.putExtra("return-data", false);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Const.SD_CARD_TEMP_CROP)));
Run Code Online (Sandbox Code Playgroud)

这样的输出是这样的:

INFO/ActivityManager(1242): Starting activity: Intent { act=com.android.camera.action.CROP dat=file:///sdcard/origPhoto.jpg typ=image/* cmp=com.motorola.gallery/.CropImage (has extras) }
INFO/ActivityManager(1242): Start proc com.motorola.gallery:CropImage for activity com.motorola.gallery/.CropImage: pid=25733 uid=10014 gids={1015, 9003, 9007, …
Run Code Online (Sandbox Code Playgroud)

java android image-processing android-intent

7
推荐指数
1
解决办法
4292
查看次数

标签 统计

android ×1

android-intent ×1

image-processing ×1

java ×1