Android 图片无法保存在三星Nexus上
我有个问题。我从我自己的应用程序开始,即具有照片意图的内置PhotoapplicationAndroid 图片无法保存在三星Nexus上,android,Android,我有个问题。我从我自己的应用程序开始,即具有照片意图的内置Photoapplication String photoName = System.currentTimeMillis() + ".jpg"; File file = new File(getFilesDir(),//Environment.getExternalStoragePublicDirectory( //Environment.DIRECTORY_DCIM),
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后发生的。在我更新手机之前,一切正常,但自从更新后,我就遇到了这个问题
有人能帮我吗?有人有相同的问题吗?请确保提供要扫描的新文件:
MediaScannerConnection.scanFile(this,
new String[] { file.toString() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
// code to execute when scanning is complete
}
});
如果扫描程序拾取OnScanCompletedListener时不需要通知您,但您可能至少希望在其中放置一条日志语句,则可以为OnScanCompletedListener传入null参数。请确保提供要扫描的新文件:
MediaScannerConnection.scanFile(this,
new String[] { file.toString() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
// code to execute when scanning is complete
}
});
如果扫描程序拾取OnScanCompletedListener时不需要通知您,您可以为OnScanCompletedListener传入null参数,但您可能希望至少在其中放置一条日志语句。现在工作正常,问题是我自己创建了该文件,其中包括:
File file = new File(..);
但你必须使用:
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "IMG_"+ timeStamp+.jpg");
并将其放入意图中,以便在不重新启动手机的情况下立即保存文件。现在工作正常,问题是我自己创建了该文件,具有:
File file = new File(..);
但你必须使用:
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, "IMG_"+ timeStamp+.jpg");
并将其放在不重新启动手机的情况下立即保存文件的意图中。为了澄清,当你说“三星Nexus”时,你是指“Nexus S”还是“Galaxy Nexus”?这两个都是三星制造的。当你试图关闭这些文件时,有任何异常被抛出吗?Ie.你有没有看到stacktraces被打印出来?@m0skit0 Nexus平板电脑是华硕的,不是三星的。它是Galaxy Nexus。问题是,每个文件只在重新启动后写入,但当我尝试将文件上载到ftp服务器(例如,不重新启动)时,没有失败。在文件系统中,照片仅在重新启动后显示。第二个问题是当我试图从intent(在onActivityResult中)获取带有Data.getData()的URI数据时。然后我失败了,因为没有任何数据。它现在工作正常,问题是我自己创建了文件,文件File=newfile(…);。但是您必须使用ContentValues=newcontentvalues();value.put(MediaStore.Images.Media.TITLE,“IMG_”+timeStamp+.jpg”);并将其放在一次保存文件的意图中,而无需重新启动手机。请澄清,当您说“三星Nexus”时,您是指“Nexus S”还是“Galaxy Nexus”"? 这两个都是三星制造的。当你试图关闭这些文件时,有任何异常被抛出吗?Ie.你有没有看到stacktraces被打印出来?@m0skit0 Nexus平板电脑是华硕的,不是三星的。它是Galaxy Nexus。问题是,每个文件只在重新启动后写入,但当我尝试将文件上载到ftp服务器(例如,不重新启动)时,没有失败。在文件系统中,照片仅在重新启动后显示。第二个问题是当我试图从intent(在onActivityResult中)获取带有Data.getData()的URI数据时。然后我失败了,因为没有任何数据。它现在工作正常,问题是我自己创建了文件,文件File=newfile(…);。但是您必须使用ContentValues=newcontentvalues();value.put(MediaStore.Images.Media.TITLE,“IMG_”+timeStamp+.jpg”);并将其放入意图中,以便在不重新启动手机的情况下立即保存文件