Wi-Fi接続を切り替える |
ここではWi-Fi接続を切り替える方法を確認していきます。
端末のWi-Fi接続を切り替えるためには「 android.net.wifiManager 」クラスの「 setWifiEnabled 」メソッドを用います。サンプルアプリではトグルボタンでオンとオフを切り替えています。 ※サンプルコードはエミュレータでは機能しないため実機で確認してください。 WiFiActivity package goodroid.sample.wifi; import android.net.wifi.WifiManager; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ToggleButton; import android.app.Activity; public class WiFiActivity extends Activity implements OnClickListener{ private ToggleButton toggle; private WifiManager wifi; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wi_fi); // WifiManagerのインスタンスを取得する wifi = (WifiManager) getSystemService(WIFI_SERVICE); // トグルボタンのインスタンスを取得する toggle = (ToggleButton) findViewById(R.id.toggleButton1); // トグルボタンの状態初期化 if(wifi.isWifiEnabled()){ // 現在のWifiがONだった場合、トグルボタンをONに切り替える toggle.setChecked(true); }else{ // 現在のWifiがONだった場合、トグルボタンをOFFに切り替える toggle.setChecked(false); } } @Override public void onClick(View v) { if(wifi.isWifiEnabled()){ // 現在のWifiがONだった場合、OFFに切り替える wifi.setWifiEnabled(false); }else{ // 現在のWifiがOFFだった場合、ONに切り替える wifi.setWifiEnabled(true); } } } activity_wi_fi.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <ToggleButton android:id="@+id/toggleButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="ToggleButton" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" android:layout_marginLeft="15dp" android:text="Wi-Fi状態" android:textAppearance="?android:attr/textAppearanceLarge" /> </RelativeLayout> wifi Manifest <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="goodroid.sample.wifi" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="15" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".WiFiActivity" android:label="@string/title_activity_wi_fi" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> Wi-Fiの状態を変更するためには10行目、11行目にあるようにManifestに以下の2つのパーミッションを追加する必要があります。 忘れるとアプリが起動しません。 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> 実行結果 ![]() |
6194 views | コメント:1 | 2012-09-30 |
コメント
|