execShell("am broadcast -a android.net.conn.CONNECTIVITY_CHANGE -e networkInfo \"NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true\" com.tencent.mobileqq")
public String execShell(String cmd){
try{
//權限設置
Process p = Runtime.getRuntime().exec("su");
//獲取輸出流
OutputStream outputStream = p.getOutputStream();
DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
//將命令寫入
dataOutputStream.writeBytes(cmd);
//提交命令
dataOutputStream.flush();
//關閉流操作
dataOutputStream.close();
outputStream.close();
InputStream inputstream = p.getInputStream();
InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
BufferedReader bufferedreader = new BufferedReader(inputstreamreader);
// read the ls output
String line = "";
StringBuilder sb = new StringBuilder(line);
while ((line = bufferedreader.readLine()) != null) {
//System.out.println(line);
sb.append(line);
sb.append('\n');
}
return sb.toString();
}
catch(Throwable t)
{
t.printStackTrace();
}
return "";
}
代碼中執行adb shell命令.發送特殊action的廣播(直接sendBroadcast會有權限問題).