如何在Android中将内部默认铃声复制到外部存储器

时间:2015-04-28 12:58:28

标签: android ringtone

请帮帮我,我没有收到默认的铃声文件路径。 任何机构都可以告诉我们如何访问Android中的默认铃声。这是我做这件事的代码。我已经评论了我直接给资产经理打开文件并阅读它的路径。

 public void copyAssets() {
        AssetManager assetManager = this.getAssets();
    //   String FileName="//media/internal/audio/media/";
        File io=getFilesDir();


        String[] files = null;
        try {
            files = assetManager.list("");
          //  files=assetManager.list(FileName);
        } catch (IOException e) {
            Log.e("tag", "Failed to get asset file list.", e);
        }
       for (String filename : files) {
            InputStream in = null;
            OutputStream out = null;
//        File mydir = context.getDir("mydir", Context.MODE_PRIVATE); //Creating an internal dir;
//        File fileWithinMyDir = new File(mydir, "myfile"); //Getting a file within the dir.
//        FileOutputStream out = new FileOutputStream(fileWithinMyDir); //Use the stream as usual
//
            try {
                in = assetManager.open("Ringtone");
               // File myFolder = new File(Environment.getDataDirectory() + "/myFolder");
                File myFolder = this.getDir("myFolder", this.MODE_PRIVATE);
                File fileWithinMyDir=new File(myFolder,"Ringtoness");
                out = new FileOutputStream(fileWithinMyDir);
                copyFile(in, out);
            } catch (IOException e) {
                Log.e("tag", "Failed to copy asset file: " + filename, e);
            } finally {
                if (in != null) {
                    try {
                        in.close();
                    } catch (IOException e) {

                    }
                }
                if (out != null) {
                    try {
                        out.close();
                    } catch (IOException e) {

                    }
                }
            }
        }
    }

    public void copyFile(InputStream in, OutputStream out) throws IOException {
        byte[] buffer = new byte[1024];
        int read;
        while ((read = in.read(buffer)) != -1) {
            out.write(buffer, 0, read);
        }
    }`

0 个答案:

没有答案