2015-09-08 151 views
0

我有以下函数应该返回wpa_supplicant.conf文件的内容。Android:如何读取根设备上wpa_supplicant.conf文件的内容?

我试图通过这种方式读档:

public static String readTextFile() { 
     aBuffer = ""; 
     try 
     { 
      Runtime.getRuntime().exec("su"); 
      Runtime.getRuntime().exec("chmod +x /data/misc/wifi/wpa_supplicant.conf"); 
      File path= Environment.getDataDirectory(); 
      File myFile = new File("/data/misc/wifi/wpa_supplicant.conf"); 
      FileInputStream fIn = new FileInputStream(myFile); 
      BufferedReader myReader = new BufferedReader(
        new InputStreamReader(fIn)); 
      String aDataRow = ""; 
      aBuffer = ""; 
      while ((aDataRow = myReader.readLine()) != null) { 
       aBuffer += aDataRow + "\n"; 
      } 
      myReader.close(); 

     } 
     catch (Exception e) 
     { 
      Logger.e("Cannot read the file"); 
      Logger.e(e.getMessage()); 
     } 
     return aBuffer; 
    } 

而且我加入清单文件太:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

但是,当我试图读取放置在文件的内容:

/data/misc/wifi/wpa_supplicant.conf 

我总是会得到以下例外:

/data/misc/wifi/wpa_supplicant.conf: open failed: EACCES (Permission denied) 

我应该使用而不是输入shell命令的输出吗? Fxp:

tail /data/misc/wifi/wpa_supplicant.conf 

我该如何解决这个问题?

非常感谢您的任何建议。

+0

真的没有人知道吗? – redrom

+0

你解决了这个问题吗? –

回答

-1

是否有你试图通过编写应用程序来完成它的原因?

你在做su,但是这个命令提升了你没有实例化的shell的权限..你必须运行代码AS root。在那个时候通常阅读文件。

相关问题