0

私のアプリではImageView、カメラで撮影したばかりの画像に の画像を設定しようとしています。私の問題は、古い Droid (Android 2.2) では動作するが、Droid Razr (Android 4.0) では動作しないことです。誰かが理由を理解するのを手伝ってくれるかどうか疑問に思っていました。

Intent[写真を撮る] ボタンをクリックしたときのカメラは次のとおりです。

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
String imageFileName = System.currentTimeMillis() + ".jpg";

File photo = new File(Environment.getExternalStorageDirectory(),
imageFileName);

imageUri = Uri.fromFile(photo);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);

startActivityForResult(cameraIntent, ACTIVITY_CAMERA);

Activityの結果は次のとおりです。

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    if (requestCode == ACTIVITY_CAMERA) {
        if(resultCode == Activity.RESULT_OK){

            imageView.setImageUri(imageUri);    
        }
    }  
}

ImageViewRazr では空白のままです。

4

1 に答える 1

0

logcat を見るとどう役立つか不思議です。

とにかく、の画像を設定しようとすると、「ビットマップが大きすぎます」というメッセージが表示されましたImageView。この問題の前でさえ、私は Google のソリューションhereを試しました。ただし、ビットマップは常に null であり、その理由を理解するのに十分な調査を行っていません。

編集:Googleのソリューションが機能しました。メソッドについては、 myを string: としてdecodeFile()渡していました。これをに変更しましたが、現在は機能しています。UriimageUri.toString()imageUri.getPath()

于 2012-08-24T21:09:01.943 に答える