2010-11-05 25 views

risposta

24

È possibile modificare le impostazioni di sistema programatically.

Prima di tutto bisogna chiedere il permesso 'WRITE_SETTINGS' nel vostro 'AndroidManifest.xml':

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 

allora avete bisogno di cambiare realmente l'impostazione utilizzando il seguente codice:

android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_USE_STATIC_IP, "0"); 
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS1, "192.168.0.2"); 
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_DNS2, "192.168.0.3"); 
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_GATEWAY, "192.168.0.1"); 
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_NETMASK, "255.255.255.0"); 
    android.provider.Settings.System.putString(getContentResolver(), android.provider.Settings.System.WIFI_STATIC_IP, "1"); 

Il è possibile accedere alle impostazioni correnti tramite lo stesso metodo, ma utilizzare 'getString' invece di 'putString'.

Per informazioni sull'opzione impostazioni visitare il riferimento qui: Settings.System | Android Developers

+0

grazie ... questo ha risolto il mio problema di impostazione del proxy ... – user4232

+3

@Flexiweb, Bro. Non funziona per Android OS versione 3 e successive. Potete per favore aiutare anche per quello. – Harpreet

+0

Questo potrebbe funzionare per "putString", ma sto provando su 5.1.1 su "getString" e restituisce null per ognuno di questi. –

2

Non è possibile eseguire questa operazione da un'applicazione.

Volete che le applicazioni sul telefono cambino a piacimento le impostazioni del telefono?

+1

sì voglio la mia applicazione per modificare le impostazioni IP di wifi .. la sua non è possibile ? – faheem

+0

Penso che il punto che Peter sta cercando di fare è che non dovresti volere che le applicazioni arbitrarie cambino queste impostazioni. –

+0

ok, voglio creare un'applicazione che modifichi queste impostazioni n/w (ip, dns, gateway) .. crea diversi profili di configurazione wifi. e con un solo tocco cambia la configrazione ... il 60% della mia app è terminato, voglio solo un metodo o qualcosa per cambiare queste impostazioni – faheem

1

Non sicuro che possa essere d'aiuto ma è possibile impostare manualmente ip, gateway, dns ecc. Per un particolare punto di accesso nelle impostazioni Wireless. Se puoi farlo automaticamente o usare un intento è un'altra domanda?

Ho appena visto questa che potrebbe essere utile

How can i call Wi-Fi settings screen from my application using Android

+0

Grazie, con l'intenzione è possibile modificare le impostazioni Wi-Fi? – faheem

1

il codice follow può anche fare che:

WifiManager mWifiManager = (WifiManager)mContext.getSystemService(Context.WIFI_SERVICE); 
    DhcpInfo dhcpInfo = mWifiManager.getDhcpInfo(); 
    int dns1 = dhcpInfo.dns1; 
    int dns2 = dhcpInfo.dns2; 
+1

Come si imposta il valore DNS? –

Problemi correlati