1

Androidのバグ:一部のファイルマネージャーでクロップインテントが機能します。

次のコード:

フォルダ/ファイルから画像を切り抜くインテントを起動します。

Intent intent = new Intent(Intent.ACTION_GET_CONTENT,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

        //intent.putExtra(MediaStore.EXTRA_OUTPUT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
        intent.putExtra("crop", "true");
        intent.putExtra("return-data", true);

        startActivityForResult(intent, 0);

2つのバージョンのコードは、同じAndroidバージョンの異なるデバイスで異なる方法でクラッシュします。

第1版:

try 
    {
        bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), targetUri);

        }catch (FileNotFoundException e){e.printStackTrace();} 
        catch (IOException e){e.printStackTrace();}

2番目のバージョン(他のデバイスで動作します)

bitmap = (Bitmap) data.getExtras().get("data");

私は何をするつもりですか?

4

1 に答える 1

3

は内部 APIのcom.android.camera.action.CROP一部であるため、すべての Android デバイスでサポートされるとは限りません。

すべてのデバイスでサポートされるようにするには、独自のクロップ アクティビティを実装する必要があります。少なくとも、一部のデバイスがIntent. これを行うことを忘れないでください!! :)

ところで、私の記憶が正しければ、Samsung Galaxy は独自の Media/Gallery アプリを実装しているため、Intent の認識に失敗しています。

于 2012-07-02T21:29:09.953 に答える