android 获取wifi 密码 代码
2014-11-19 10:26
351 查看
想要获取wifi密码首先要保证你的手机已经root、 因为只有root 以后才能读取存放密码的配置文件
如果你的手机已经root 用该语句获取 使你的程序获取权限
Process process = Runtime.getRuntime().exec("su");
下面是 程序的布局
下面是程序的代码
运行结果我就不截图了。我亲测是Ok 的
转载自http://download.csdn.net/detail/chw_611/5275223
如果你的手机已经root 用该语句获取 使你的程序获取权限
Process process = Runtime.getRuntime().exec("su");
下面是 程序的布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="152dp" android:text="获取密码" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button1" android:layout_centerHorizontal="true" android:layout_marginBottom="101dp" android:text="" android:textAppearance="?android:attr/textAppearanceMedium" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="71dp" android:text= "退出"/> </RelativeLayout>
下面是程序的代码
package com.android.getpsk; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.annotation.SuppressLint; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class MainActivity extends Activity { Button myButton; Button quit; TextView show; MyHandler myHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myButton = (Button) findViewById(R.id.button1); quit = (Button) findViewById(R.id.button2); show = (TextView)findViewById(R.id.textView1); myHandler = new MyHandler(); myButton.setOnClickListener(new OnClickListener() { public void onClick(View v) { Log.e("Fuck", "I got a key down"); MyThread m = new MyThread(); new Thread(m).start(); } }); quit.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub finish(); } }); } @SuppressLint("HandlerLeak") class MyHandler extends Handler { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); Bundle b = msg.getData(); String info = b.getString("info"); MainActivity.this.show.setText(info); } } class MyThread implements Runnable { public void run() { ; StringBuilder content = new StringBuilder(); try { Process process = Runtime.getRuntime().exec("su"); String cmd = "cat /data/misc/wifi/wpa_supplicant.conf"; //String cmd = "id"; DataOutputStream dataOutputStream = new DataOutputStream(process.getOutputStream()); DataInputStream dataIntputStream = new DataInputStream(process.getInputStream()); DataInputStream dataErrorStream = new DataInputStream(process.getErrorStream()); dataOutputStream.writeBytes(cmd + "\n"); dataOutputStream.flush(); Thread.sleep(2000); String line = ""; if (dataIntputStream.available() > 0) { String error = ""; int total = dataIntputStream.available(); Log.e("TotalCount", Integer.toString(total)); int i = 0; while(i < total) { line = dataIntputStream.readLine(); if(line.trim().startsWith("ssid=") || line.trim().startsWith("psk=")) { content.append(line + "\n"); } i += line.length() + 1; } dataOutputStream.close(); dataErrorStream.close(); dataErrorStream.close(); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); Log.e("Exception1", e.toString()); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); Log.e("Exception2", e.toString()); } Message msg = new Message(); Bundle b = new Bundle();// 存放数据 b.putString("info", content.toString()); Log.e("info", content.toString()); msg.setData(b); MainActivity.this.myHandler.sendMessage(msg); // 向Handler发送消息,更新UI } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
运行结果我就不截图了。我亲测是Ok 的
转载自http://download.csdn.net/detail/chw_611/5275223
相关文章推荐
- Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码
- Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码
- Android中可以做的两件坏事——破解锁屏密码和获取Wifi密码
- Android中可以做的两件坏事——破解锁屏密码和获取Wifi密码
- android wifi direct代码开启和设置名称密码的权限
- Android中可以做的两件坏事——破解锁屏密码和获取Wifi密码
- Android获取当前手机网络类型(2g、3g、4g、wifi)以及手机型号、版本号代码
- Android 用代码查看本机保存的Wifi密码
- Android 用代码查看本机保存的Wifi密码
- Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码
- Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码
- Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码
- Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码
- Android之可以做的两件坏事---破解锁屏密码和获取Wifi密码
- android 获取手机里面的WIFI密码
- Android中可以做的两件坏事---破解锁屏密码和获取Wifi密码
- android连接wifi时获取广播地址代码
- 获取android手机已连接过wifi密码
- Android wifi 外网ip 完善代码,保证http和手机都能获取到