0

問題があります。カメラで写真を撮り、撮影した写真をトリミングできる画面を表示する必要があります。私はそのような機能を追加しました:

protected void callCropPhoto(Uri uri) {
        try {
            Intent intent = new Intent("com.android.camera.action.CROP");
            intent.setDataAndType(uri, "image/*");
            intent.putExtra("crop", "true");
            intent.putExtra("aspectX", avatar.getWidth());
            intent.putExtra("aspectY", avatar.getHeight());
            intent.putExtra("outputX", avatar.getWidth());
            intent.putExtra("outputY", avatar.getHeight());
            intent.putExtra("return-data", true);
            startActivityForResult(intent, CROP_PHOTO_REQUEST_CODE);
        } catch (Exception ex) {
            // Some devices can't support image cropping.
        }
    }

写真付きのカメラから結果を取得したら、撮影した写真に一時的な uri を指定してこの関数を呼び出します。通常、onActivityResult を呼び出すと、RESULT_OK とデータを取得します。すべて正常に動作します。しかし、ランドスケープモードの1つのデバイス(Androidバージョン2.3.4)では、RESULT_CANCELEDが表示され、トリミングのある画面が表示されません。何が問題ですか?

4

0 に答える 0