我正在尝试在我的android应用程序中列出邻居wifi。我正在使用Android Q,我正面临这个错误:
/proc/net/arp:打开失败:EACCES(拒绝权限)
这是我的代码:
br = new BufferedReader(new FileReader(ARP_TABLE));
String line;
while ((line = br.readLine()) != null) {
String[] splitted = line.split(" +");
if (splitted != null && splitted.length >= 4) {
String mac = splitted[3];
if (mac.matches("..:..:..:..:..:..")) {
// IP and connected
// SOME CODE
}
}
}
有人面对这个错误吗?谢谢
您是否尝试了AndroidManifest.xml
中的Android:RequestLegacyExternalStorage
属性?如果你没有尝试过这个,你可以在Android Manifest文件中这样使用这个属性;
<manifest ... >
<application android:requestLegacyExternalStorage="true" ... >
...
</application>
</manifest>
并且在清单中权限集是正确的
更新 结果发现我调用open和close FileOutputStream的频率太高了,这会在某个时候抛出FileNotFoundException。听起来更像是线程问题。
java.io.FileNotFoundException:/Storage/Emulated/0/WhatsApp/Media/WhatsApp Documents/api.txt:open失败:EACCES(拒绝权限)
在其他设备中没有发生这种情况,我测试的设备:、、
在stackoverflow中也有类似的错误,但在尝试解决方案后(如您将在下几行中看到的),我会遇到相同的错误。 我在使用Nexus 5X api 27 oreo rom的模拟器和使用Android4.4的华为真手机中都试过了 在这两个设备中,我都有相同的错误: