Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 讀取系統文件 wpa_supplicant

android 讀取系統文件 wpa_supplicant

編輯:關於Android編程

1,需要權限

 


 

2,下載 RootTools.jar包。

3,兩個關鍵方法。主要是獲取shell,並執行命令行。

方法如下:

 

  private static boolean waitForCommand(Command cmd) {
        while (!cmd.isFinished()) {
            synchronized (cmd) {
                try {
                    if (!cmd.isFinished()) {
                        cmd.wait(2000);
                    }
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }

            if (!cmd.isExecuting() && !cmd.isFinished()) {
                //         Logger.errorST(Error: Command is not executing and is not finished!);
                return false;
            }
        }

        //Logger.debug(Command Finished!);
        return true;
    }
    public static ArrayList runAndWait1(String cmd, final boolean root) {
        final ArrayList output = new ArrayList();
        Command cc = new Command(1, cmd) {
            @Override
            public void commandOutput(int i, String s) {
                output.add(s);
//        System.out.println(output +root+s);
            }

            @Override
            public void commandTerminated(int i, String s) {

                System.out.println(error + root + s);

            }

            @Override
            public void commandCompleted(int i, int i2) {

            }
        };
        try {
            RootTools.getShell(root).add(cc);
        } catch (Exception e) {
            //       Logger.errorST(Exception when trying to run shell command, e);
            e.printStackTrace();
            return null;
        }

        if (!waitForCommand(cc)) {
            return null;
        }

        return output;
    }

 

 

4,接下來就是簡單的調用了。

 

final  File f=new File(/data/misc/wifi/wpa_supplicant.conf);

 new Thread(){
     @Override
     public void run() {
         super.run();
         ArrayList list=new ArrayList();
       //  String cpath = getCommandLineString(f.getPath());
         String s=cat  + f.getPath();
         list = runAndWait1(s, true);
         for (int i = 0; i < list.size(); i++) {
             Log.e(content,list.get(i));
         }


     }
 }.start();

 

 

輸出結果如下:

\

 

 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved