2011-02-04 83 views
3

我想从我的应用程序中保存到SD卡上的声音设置铃声。在阅读我能找到的每一篇文章后,我相信我很接近,而没有定义URI的权利。Android:从SD卡设置声音作为铃声

​​

通常情况下,URI定义更像是:

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

但我没太看到了这一切的地步,它给了我相当恶劣的错误(这并不是说他们可能任何比我现在的还差)。我相信这是实现它的必要方式,但是我的代码中的uri实际上返回了正确的路径(另一个不是,可能是由于我的错误使用),所以我不明白为什么它不会工作。尽管说实话,我不认为必须为此使用URI,而不是指定路径。

如果有人能给我一点解释,或者将我连接到某个地方,那么我可以真正理解这一点,并解决这个问题,我会非常感激。

+0

你给你的应用程序有什么权限?您必须确保您的应用程序有权访问SD卡。 – SpencerElliott 2011-02-04 04:30:08

+0

我已将权限写入外部存储器,并且我知道它已正确设置,因为我可以将声音保存到SD卡上。我不相信有任何权限需要从卡中读取,我只是仔细检查确认。 – Peacecraft 2011-02-04 05:30:15

回答

0

嘿,我觉得你的概率是没有得到path.so我建议你先从检查,如果你的文件是真实存在atfer此行


File ringPath = new File(path, filename); 

使用代码:


boolean b=ringPath.exists(); 

如果它返回真的比你可以能够得到uri frm it.than后,我认为没有错误,我可以看到在我们的代码。

0

通过进入菜单 - >设置 - >应用程序 - >开发,关闭手机调试然后取消选中该框。很好去。