2014-12-01 49 views
0

林保存铃声与此代码可以在Android设置:保存值Android设置

Uri uri = MediaStore.Audio.Media.getContentUriForPath(outPath); 
    Uri newUri = getContentResolver().insert(uri, values); 

这段代码保存在:

content://media/INTERNAL/audio/media/[FILE NAME] 

我想知道,为什么这个保存在内部?我的文件实际上在SD卡上!我不明白为什么!

+1

你有<使用许可权的android:NAME = “android.permission.WRITE_EXTERNAL_STORAGE”/>在应用清单? – Rahin 2014-12-01 18:36:47

+0

outPath的类型和价值是什么?什么是价值的类型和价值?你正在保存在Android设置?那应该是什么? – greenapps 2014-12-01 18:44:34

+0

@RahinJegarajaratnam:是的,我有这个permision – Fcoder 2014-12-01 18:45:25

回答

0

如果您的文件路径不是从Environment.getExternalStorageDirectory().getPath()返回的相同值开始,那么该模式将默认为INTERNAL_CONTENT_URI。确保您的outPath从适当的路径开始。

来源[MediaStore.Audio.Media]:

public static Uri getContentUriForPath(String path) { 
    return (path.startsWith(Environment.getExternalStorageDirectory().getPath()) ? 
      EXTERNAL_CONTENT_URI : INTERNAL_CONTENT_URI); 
}