1

質問の下部にある解決策/回避策へのリンク

Android チュートリアルを使用して、インテントを介して nexus 7 カメラを開いて写真を撮るコードを記述しました。ファイルオブジェクトの初期化コードを変更しない限り、正しく動作しませんでした

File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES), "MyCameraApp");

File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES) + File.separator +"MyCameraApp");

それでも呼び出されたintent.getData()ときは null のままです。onActivityResult手元の質問に戻りますが、保存された画像はタブレット自体で閲覧できますが、USB 経由で PC で閲覧すると表示されません。

私は何を間違っていますか?getExternalStoragePublicDirectory完全にアクセス可能なファイルを使用すると思いました。私のコードに何か問題があるのでしょうか? ストックカメラアプリに何らかの方法で保存するように「指示」する必要がありMODE_WORLD_READABLEますか?

これを適切に機能させるために何時間も費やしました-どんな助けも大歓迎です!

それが役に立ったら、残りのコードを投稿できますが、Android のチュートリアルとほとんど同じです。

編集:これは、nexus 7 および 4 の既知の問題が原因です。解決策については、2 番目のリンクを参照してください。

Nexus 7 の外部ストレージにファイルを保存し、PC から取得する

Nexus 4 が MTP 経由でファイルを表示しない

4

1 に答える 1

0

I do something similar like this:

File photo = new File(Environment.getExternalStorageDirectory(),
                "filename.jpg");
        mImageUri = Uri.fromFile(photo);
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE)
                .putExtra(MediaStore.EXTRA_OUTPUT, mImageUri);
        startActivityForResult(intent, REQUEST_CODE_TAKE_PHOTO);

And after take and save photo call from terminal (or cmd):

adb pull /mnt/storage/sdcard/filename.jpg c:\folder

and get result photo from c:\folder. You can use Log or debugger to monitoring mImageUri address on your device.

PS: And dont forget permissions about permissions

于 2013-04-17T11:50:03.917 に答える