SD カードがないとカメラを使用できません。
SDカードがある場合、カメラの使用は簡単です。
http://www.vogella.com/articles/AndroidCamera/article.html + 多数の他の例。
ただし、SDカードを持たないデバイス(Sony Xperiaシリーズなど)でアプリを利用できるようにする必要があります。内部ストレージを使用するようにコードを変更してみました(と思います):
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(getDir("myDirec", Context.MODE_WORLD_WRITEABLE), "tmp_photo_" + String.valueOf(System.currentTimeMillis()) + ".jpg");
file.createNewFile();
mImageCaptureUri = Uri.fromFile(file);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mImageCaptureUri);
intent.putExtra("return-data", true);
ただし、結果については次のとおりです。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intentReturn) {
if (resultCode != RESULT_OK)
return;
String path = mImageCaptureUri.getPath();
Bitmap bitmap = BitmapFactory.decodeFile(path);
...
bitmap
無効です。
これは、いくつかの権限の問題があると私に信じさせます....多分?
http://developer.android.com/guide/topics/data/data-storage.html#filesInternalなど、他の内部ストレージ オプションをいくつか試しまし getFilesDir()
たが、結果は同じです: null bitmap
。
SDカードなしでカメラを使用することに成功した人はいますか?