AnsweredAssumed Answered

在android4.3中LAN功能界面下如何利用程式碼對靜態IP設定做寫回系統的動作呢?

Question asked by chen sam on Aug 2, 2017

hi,All:

請教大家,若我正在寫一個LAN界面附加在setting的界面內,但目前我已能抓到DHCP所有的IP,但藥石做靜態IP的設定,一定是需要寫回系統,不然應該系統不知道被改變了,故想請教大家我是已經做到IP跟dns可以寫回去但gateway跟netmask我寫不回去系統,不知大家有辦法可以解決這問題嗎?

我檢查的方式是利用下列指令:

1.ifconfig eth0 -->觀察ip跟netmask

2.ip route show -->觀察gateway

3.getprop net.dns1 -->觀察dns 

   getprop net.dns2

但這幾個指令執行後,發現只有ip跟dns我有寫回系統,因為有變化,但gateway跟netmask未變化,表示我這兩段有誤,我是有想過用指令方式直接操作,code如下:

Runtime.getRuntime().exec("route add default gw 192.168.1.254 dev eth0");

但是失敗  沒反應有網友說有權限關係  需要加上su,可是我進入系統後是user mode不是root mode所以這個指令我實際操作過是無法使用的,所以若是真是權限卡住不能做上述那段code的話,那這有辦法解決嗎?還是各位大大有其他方式可以對gateway跟netmask做實際的更新呢?

 

在麻煩大家幫幫忙了,這部份小弟比較不懂,請大家見諒!!!

感恩!!!

Outcomes