Quantcast
Channel: 質問!ITmedia 新着質問(Java/253)
Viewing all articles
Browse latest Browse all 2439

hostsファイルを置き換える android

$
0
0
androidアプリで、hostsファイルを置き換える、ものを作ろうと思っています。 家でローカルサーバーへアクセスするのに、いちいちhosts editorを使わなければならないからです。 家のSSIDに接続したら、アプリディレクトリに準備してあるhostsファイルと置き換える、というだけのものです。「というだけのもの」と言いながらかなりレベルの高いものだと痛感しました。 なのでハードコードしたものでとりあえず、 アプリを起動したら SSIDを検知して hostsを「家用のもの」と「外用のもの」とを置き換える までのものを作ろうと思っています。 root化されている前提での質問です。 以下は部分的な抜粋コードです。 WifiManager manager = (WifiManager)getSystemService(WIFI_SERVICE); WifiInfo info = manager.getConnectionInfo(); String[] apInfo = new String[4]; String s1 = new String(info.getSSID().trim()); String s2 = "\"exampleSSID\""; if(s1.equals(s2)){ try { _process = Runtime.getRuntime().exec("su"); srcChannel = new FileInputStream("/system/etc/hosts").getChannel(); destChannel = new FileOutputStream("hosts").getChannel(); srcChannel.transferTo(0, srcChannel.size(), destChannel); //↑このあたりでとりあえずhostsファイルを取ってくるコードをやってみているのだけれど、できません。 _process.destroy(); } catch (IOException e) { e.printStackTrace(); } finally { if (srcChannel != null) { try { srcChannel.close(); } catch (IOException e) { } } if (destChannel != null) { try { destChannel.close(); } catch (IOException e) { } } }else{ //ここに外用の置き換えコードを書いたらいいんじゃないかなあと考えています。 } どうしたらよいでしょうか。ヒントでもご教授いただけたらと思います。

Viewing all articles
Browse latest Browse all 2439

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>