0

私は問題があります。私は自分のアプリケーションから、Photo-Intent を備えた Build-In Photoapplication から始めます。

        String photoName = System.currentTimeMillis() + ".jpg"; 

        File file = new File(getFilesDir(),//Environment.getExternalStoragePublicDirectory(
                //Environment.DIRECTORY_DCIM),
                photoName); // Anlegen der Datei im entsprechenden
                            // Verzeichnis
        FileOutputStream fos = null;
        try {
            fos = openFileOutput(photoName, Context.MODE_WORLD_WRITEABLE);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            fos.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        outputFileUri = Uri.fromFile(file);
        intentPhoto.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
        //startActivity(intentPhoto);
        startActivityForResult(intentPhoto, TAKE_PICTURE);

これは、アクティビティを開始するための私のコードです。ご覧のとおり、最初にディレクトリにファイルを設定し、それを保存するファイルの場所をインテントに指定します。

しかし、写真を撮るたびに写真ディレクトリに保存されません。写真を保存する唯一の方法は、電話の電源を切って再起動することです。それから私が前に撮ったすべての写真がそこにあります。これは、最後の 4.1.1 への更新以降に発生します。電話を更新する前は、すべて正常に機能していましたが、更新後、この問題が発生しました。

誰か助けてくれませんか?誰かが同じ問題を抱えていますか?

4

2 に答える 2

1

問題は、私が自分でファイルを作成することでした。

File file = new File(..); 

ただし、次を使用する必要があります。

ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "IMG_"+ timeStamp+.jpg"); 

そして、電話を再起動せずにすぐにファイルを保存するという意図に入れます。

于 2012-07-30T07:28:03.257 に答える