Galaxy TAB:在sd卡上保存照片问题



我试着把照片存到sd卡和HTC设备上都没问题。我看到我的照片在sd卡上,当打开我看到我的照片。但是当我在galaxy tab上尝试时,照片被保存了,但是当我打开这张照片时,我只看到黑屏。有谁能告诉我怎么修理它吗?

我的代码
 tempBMP.compress(Bitmap.CompressFormat.JPEG, 85, stream);
 log("stream3");
 File saveDir=null; 
 String filename="";
 byte[] byteArray = stream.toByteArray();
 try
        {
            if (!saveDir.exists())
            {
                saveDir.mkdirs();
            }
            FileOutputStream os = new FileOutputStream(String.format("/sdcard/ "+""+filename, System.currentTimeMillis()));

            os.write(byteArray);
            os.close();
        }
        catch (Exception e)
        {
        } 

问候,彼得。

我不知道为什么,但是这段代码对我有用。也许你应该使用Enviroment.getExternalStorageDirectory()而不是使用"/sdcard/"。试试。

File sdCard = Environment.getExternalStorageDirectory();
        File dir = new File (sdCard.getAbsolutePath());
        dir.mkdirs();
        File out = new File(dir,filename);
        try {
            out.createNewFile();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        DataOutputStream fo = null;
            try {
                fo = new DataOutputStream( new FileOutputStream(out));
                //write what you want to fo
                fo.close();
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

是的,这是Galaxy Tab本身的问题,我认为如果图像不在默认图像文件夹中,则无法查看图像,如果您将sd卡挂载到PC上,则可以轻松查看这些图像。

所以总体的想法是你的图像没有损坏这只是Galaxy Tab的问题

我猜你的代码是抛出空指针异常,你在catch块一般处理,不做任何事情来处理它。看看吧。可以使用environment . geteternalstoragedirectory()获取sd卡目录的根目录

相关内容

  • 没有找到相关文章

最新更新