Android:我写入SD卡的文件在Windows资源管理器中不显示,对于Acer Iconiatab

ab1*_*b11 11 android

在我的应用程序中,我创建文件并将其写入Sdcard.当我将Samsung Galaxy作为USB设备挂载时,我创建的文件在DDMS和Windows资源管理器中正确显示.但是,当它通过USB连接时,它们不会在我的Acer Iconia Tab A500上的Windows资源管理器中显示.我认为这是由于3.0的一些差异?我是否需要在3.0中以不同方式创建我的文件,以便它们在Windows中由usb显示?

ab1*_*b11 10

在写完文件后发送此意图解决了问题.归功于Commons Guy,他在另一个论坛上提供了答案.

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
            + Environment.getExternalStorageDirectory()))); 
Run Code Online (Sandbox Code Playgroud)

编辑:Commons Guy评论说发送假意图(如上所述)可能是一个坏主意,所以我用它代替:

   //called after writing file, from my activity 
    new SingleMediaScanner(this, path); 

    private class SingleMediaScanner implements MediaScannerConnectionClient 
    { 
            private MediaScannerConnection mMs; 
            private String path; 
            SingleMediaScanner(Context context, String f) 
            { 
                mPath = f; 
                mMs = new MediaScannerConnection(context, this); 
                mMs.connect(); 
            } 
            @Override 
            public void onMediaScannerConnected() 
            { 
                mMs.scanFile(mFile, null); 
            } 
            @Override 
            public void onScanCompleted(String path, Uri uri) 
            { 
                mMs.disconnect(); 
            } 
        }
Run Code Online (Sandbox Code Playgroud)


Gre*_*ory 5

在我的Acer Iconia选项卡上,getExternalStorageDirectory实际上指向内部存储(被视为"共享",而不是"私有"内部存储),并安装为/ mnt/sdcard.在/ mnt/external_sd上的SD卡上有一个替代(和"真实")外部存储.不过,我不确定目前是否有一种完美的方法来获得这条路径.通过USB连接Iconia Tab时,您知道安装了哪个分区吗?

  • 您可以尝试从PC上复制已安装分区上的文件,然后在Android上使用文件浏览器查看该文件的位置. (2认同)