2

私はこのコードを持っており、Ericsson XPERIA では完全に動作しますが、SAMSUNG ACE でアプリをテストすると、次のエラーが表示されます。

データ=ヌル

String  file=Environment.getExternalStorageDirectory().getAbsolutePath()+ "/picture.jpg";

    Intent i=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);  
    Uri output = Uri.fromFile(new File(archivo));           
    i.putExtra(MediaStore.EXTRA_OUTPUT, output);
    startActivityForResult(i,CAMERA_REQUEST);

OnActivity 結果

if (requestCode==CAMERA_REQUEST && resultCode==RESULT_OK){
                    Bundle extras=data.getExtras();
                    bmp=(Bitmap)extras.get("data");
                    image.setImageBitmap(bmp);
                    image.setVisibility(0);

なぜこれが起こっているのですか?

4

1 に答える 1

6

ファイルを使用EXTRA_OUTPUTして指定する場合、通常、結果インテントを介して画像データを追加で取得することはありません。代わりに、カメラアプリが指定したファイルにデータを書き込むことになっています。

その余分なものを含める場合は、を受け取ったら、代わりにファイルからの出力を読み取る必要がありますRESULT_OK。または、削除EXTRA_OUTPUTして、結果インテントのデータをすべてのデバイスで信頼できるものにすることができます。インテントシステムは大量のデータを配信するように構築されていないため、これは低解像度の画像を返すことに注意してください。

于 2012-09-05T17:18:53.043 に答える