android - Android权限问题

标签 android audio permissions

我正在编写一个简单的 Activity 来记录和保存音频,最好将其保存到应用程序中的文件夹中,但为了简单起见,将其保存到SD卡中。给我带来麻烦的代码行是

String path = Environment.getExternalStorageDirectory().toString() + "/" + "tempAppFiles/";
String filename = "test"+".mp4";
recorder.setOutputFile(path + filename);

其中,recorder是MediaRecorder的实例。

运行应用程序时,出现权限错误,指出
07-31 15:51:51.810: W/System.err(13670): java.io.FileNotFoundException: /mnt/sdcard/tempAppFiles/test.mp4 (Permission denied)

我查了一下这个问题,发现我需要在 list 中添加几个权限标签,然后添加了
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />

在我的 list 上。

我仍然遇到相同的权限问题,并且找不到任何存在类似问题的人。

有任何想法吗?

最佳答案

嗯...权限似乎是正确的,也许您将它们放在错误的位置,它们需要是children of the root note .

接下来,通过检查将文件an check, whether you can write

boolean canIWrite = path.canWrite();

当您还收到FileNotFound异常时,可以尝试...
String path = Environment.getExternalStorageDirectory().getAbsolutePath();

...代替...
String path = Environment.getExternalStorageDirectory().toString();

如果那根本没有帮助,那么仍然有一个捕获音频的官方示例-您应该将代码与以下内容进行比较:
http://developer.android.com/guide/topics/media/audio-capture.html

关于android - Android权限问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11750249/

相关文章:

android - onClick 事件不会在 TextInputEditText android 上触发

android - 在 Android 中,如何让我的应用程序使用连接到车载底座 USB 端口的耳机?

ios - iPhone 上的 HTML 音频标签隐藏了一半的高度

java - 错误: application requires permission

android - 如何更改Android默认的后退导航图标

java - 用于跟踪登录 session 的 Android 应用策略

python - 锁定程序,使其无法访问外部文件,就像病毒扫描程序一样

java - 如何让我的 Java 小程序再次工作

java - 滚动选项卡和 viewpager

audio - 查找带有 HTML5 <audio> 标签的流式 MP3 文件