我是设置SD 卡上recordings/test.mp3文件为来电铃声,log输出file_path为:“/mnt/sdcard/recordings/test.mp3”,这应该问题吧,就是调用file.exists()时都是返回的是false;但是我在独立的apk应用中调用file.exists()则返回是正常的,及若文件存在则返回true,不存在就返回false;但是我将同一段代码加在源码RingtoneManager.java里的getActualDefaultRingtoneUri(Context context, int type)里,则返回异常,且只有SD里的文件返回异常,手机内存里的文件也是正常的。怪哉?
而且系统铃声这些东西不是在sd卡上的,虽然不知道你的为啥是这样,一般是编译进system/media下的
这样的话我觉得是mk文件中local_certificate引起的,如果写成userId貌似是不能访问sd卡的
你可以继续百度看看
所以framework加的应该会访问失败,你可以试下写个简单的测试apk是不是就返回true了
你是android那个版本改的framework?估计是因为system权限访问sdcard受限