RT
机子里没有 sd卡 ,就想在 程序所在路径(类似“/data/data/com.example.XXXXX/files”)里面 创建 和 播放 amr 文件,但是遇到问题...我在 “/data/data/com.example.XXXXX/files” 里面 创建 和 写 amr 文件都可以 ,但是 播放的时候却报错 。用的是 MediaPlayer ,在 setDataSource 或 prepare 时 catch 到错误 “prepare failed.:status=0x1” ,查了貌似是权限不够...网上看了下,提权的方式,测试没成功... 有谁提供点 资料、连接 等等??
或者,有哪个目录是可以直接使用的 ??即不提权就可以 读、写、创建、删除、播放 的 ???
请指教 ,感谢~~~
机子里没有 sd卡 ,就想在 程序所在路径(类似“/data/data/com.example.XXXXX/files”)里面 创建 和 播放 amr 文件,但是遇到问题...我在 “/data/data/com.example.XXXXX/files” 里面 创建 和 写 amr 文件都可以 ,但是 播放的时候却报错 。用的是 MediaPlayer ,在 setDataSource 或 prepare 时 catch 到错误 “prepare failed.:status=0x1” ,查了貌似是权限不够...网上看了下,提权的方式,测试没成功... 有谁提供点 资料、连接 等等??
或者,有哪个目录是可以直接使用的 ??即不提权就可以 读、写、创建、删除、播放 的 ???
请指教 ,感谢~~~
解决方案 »
- Android开发,AVD无法启动
- android应用程序读不到手机上的联系人(三星note2 7100(android 4.1)),望高手指教?
- 输入法遮挡布局问题,有啥好的解决方案吗?
- 如何在activity中添加一个撒花瓣的效果。(撒花瓣的代码都有,但是不知道怎么混合到应用中)
- android4.0的View.setError()为什么不能显示文字了?
- 安卓横竖屏切换抖动
- 摄像头预览 显示有不清晰
- 微信5.0以上版本实现一键关注
- webview下载文件的下载进度怎么显示
- 求推荐有什么好的Android方面的书
- android百度地图
- 高分贴高分贴,百度地图的问题,不懂的也进来,共同学习!!
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
除了 这个,还要啥不?
程序要读写文件,除了添加 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
外,还要注意你想读写的目录,android系统里并不是有了读写权限后就能操作所有目录的。
如果有sd卡,添加权限后可以直接读写文件。
如果没有sd卡,可以获取本程序私有的缓存目录,这个目录是你可以随便操作的。比如目录
Android/data/com.example/cache ,
在没有sd卡情况下,可以通过
context.getCacheDir().getPath() 来获取你程序的私有缓存目录
程序要读写文件,除了添加 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
外,还要注意你想读写的目录,android系统里并不是有了读写权限后就能操作所有目录的。
如果有sd卡,添加权限后可以直接读写文件。
如果没有sd卡,可以获取本程序私有的缓存目录,这个目录是你可以随便操作的。比如目录
Android/data/com.example/cache ,
在没有sd卡情况下,可以通过
context.getCacheDir().getPath() 来获取你程序的私有缓存目录
OK,十分感谢,试试去
context 是 getApplicationContext() 取得的不?
貌似,也不行啊... 在虚拟机里面是 OK 的。
context 是 getApplicationContext() 取得的不?
貌似,也不行啊... 在虚拟机里面是 OK 的。是这样获取的呀。如果你获取到的是null,那试试在某个Activity的onCreate函数里直接这样获取:
this.getCacheDir().getPath()你说的不行,是哪个步骤出错了? 你把获取到的缓存路径打印出来看看实际有没有这个路径。
context 是 getApplicationContext() 取得的不?
貌似,也不行啊... 在虚拟机里面是 OK 的。或者把你的日志贴出来,这样说太笼统了,无法帮你分析。