2012-09-24 35 views
7

私はアンドロイドデバイス(rooted) からwifiの設定をバックアップするアプリを開発していますので、アンドロイドデバイスのファイルの場所を取得する方法を知りたいのでそれに対処する。androidのwifi設定ファイルの場所を取得する方法

は、私はあなたのROMまたはデバイス/data/wifi/bcm_supp.confまたは

/data/misc/wifi/wpa_supplicant.confよう

に応じて、場所がたくさんある知っているが、私はそれを動的に取得したいです。

+0

これらの設定をいくつかの場所に保存しているか、またはこれらの設定を既に一部の場所に保存しておきたいだけですか?これまでにしてきたことを分かち合うと、これは答えに役立ちます。 – Darpan

+0

これらの設定は既にいくつかの場所に保存されていて、私はそれらを探したいだけです。 –

+0

これをいくつかの場所で確認してください。残念なことに、特定のケースで見つけなければなりません。 http://alt236.blogspot.com/2011/04/android-wifi-password-locations.html – Darpan

答えて

3

あなたはこのようWifiConfigurationインスタンスを作成する必要があります:あなたはこのようにパスフレーズを追加する必要がWPAネットワークについて

conf.wepKeys[0] = "\"" + networkPass + "\""; 
conf.wepTxKeyIndex = 0; 
conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 
conf.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.WEP40); 

String networkSSID = "test"; 
String networkPass = "pass"; 

WifiConfiguration conf = new WifiConfiguration(); 
conf.SSID = "\"" + networkSSID + "\""; // 

その後、WEPネットワークのためにあなたがこれを実行する必要があります。

conf.preSharedKey = "\""+ networkPass +"\""; 

オープンネットワークの場合は、

conf.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.NONE); 

その後、あなたは、AndroidのWi-Fiマネージャの設定に追加する必要があります。

WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 
wifiManager.add(conf); 

そして最後に、あなたがそれを有効にする必要がある場合がありますので、Androidはそれに接続します。

List<WifiConfiguration> list = wifiManager.getConfiguredNetworks(); 
for (WifiConfiguration i : list) { 
    if (i.SSID != null && i.SSID.equals("\"" + networkSSID + "\"")) { 
     wm.disconnect(); 
     wm.enableNetwork(i.networkId, true); 
     wm.reconnect(); 
     break; 
    } 
} 

WEPの場合、パスワードが16進数の場合は、引用符で囲む必要はありません。

+0

ありがとうございましたが、私が探しているものではありませんのために、私はちょうど私にコードを動的に戻って、WiFiの設定ファイルの場所が必要です –

関連する問題