이 예는 Android에서 WiFi Direct를 사용하는 방법을 보여줍니다.
1단계 − Android Studio에서 새 프로젝트를 생성하고 파일 ⇒ 새 프로젝트로 이동하여 필요한 모든 세부 정보를 입력하여 새 프로젝트를 생성합니다.
2단계 − res/layout/activity_main.xml에 다음 코드를 추가합니다.
<버튼 안드로이드 :text ="와이파이 켜기" android:id ="@+id/button" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_gravity ="center" />
3단계 − src/WifiDirectBroadcastReceiver
에 다음 코드 추가패키지 com.example.myapplication;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.wifi.p2p.WifiP2pManager;import android.widget.Toast;public 클래스 WifiDirectBroadcastReceiver는 BroadcastReceiver를 확장합니다. { WifiP2pManager wifiP2pManager; WifiP2pManager.Channel 채널; MainActivity 활동; public WifiDirectBroadcastReceiver(WifiP2pManager wifiP2pManager, WifiP2pManager.Channel 채널, MainActivity 활동) { this.wifiP2pManager =wifiP2pManager; this.channel =채널; this.activity =활동; } @Override public void onReceive(컨텍스트 컨텍스트, 의도 의도) { String action =intent.getAction(); if (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action)) { int state =intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE, -1); if (상태 ==WifiP2pManager.WIFI_P2P_STATE_ENABLED) { Toast.makeText(활동, "와이파이 켜짐", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(활동, "와이파이 꺼짐", Toast.LENGTH_SHORT).show(); } } else if (WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION.equals(action)) { } else if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)) { } else if (WifiP2pManager.WIFI_DEVPTION_CHIS4단계 − src/MainActivity.java
에 다음 코드 추가패키지 com.example.myapplication;import android.content.BroadcastReceiver;import android.content.IntentFilter;import android.net.wifi.WifiManager;import android.net.wifi.p2p.WifiP2pManager;import android.support.v7 .app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class MainActivity extends AppCompatActivity { TextView 텍스트; 버튼 버튼; WifiManager mWifiMgr; WifiP2pManager mWifiP2pMgr; WifiP2pManager.Channel mChannel; BroadcastReceiver mReceiver; IntentFilter mIntentFilter; @Override protected void onCreate(Bundle storedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 버튼 =findViewById(R.id.버튼); mWifiMgr =(와이파이 매니저) getApplicationContext().getSystemService(WIFI_SERVICE); mWifiMgr.setWifiEnabled(거짓); mWifiP2pMgr =(WifiP2pManager) getApplicationContext().getSystemService(WIFI_P2P_SERVICE); mChannel =mWifiP2pMgr.initialize(이, getMainLooper(), null); mReceiver =새로운 WifiDirectBroadcastReceiver(mWifiP2pMgr, mChannel, this); mIntentFilter =새로운 IntentFilter(); mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION); mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION); mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION); mIntentFilter.addAction(WifiP2pManager.WIFI_P2P_THIS_DEVICE_CHANGED_ACTION); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mWifiMgr.isWifiEnabled()) { mWifiMgr.setWifiEnabled(false); button.setText("Wifi 켜기"); } else { mWifiMgr.setWifiEnabled(true); button.setText("와이파이 끄기"); } } }); } @Override 보호 무효 onResume() { super.onResume(); registerReceiver(mReceiver, mIntentFilter); } @Override protected void onPause() { super.onPause(); 등록 취소 수신기(mReceiver); }}5단계 − androidManifest.xml에 다음 코드 추가
<사용 권한 android:name ="android.permission.CHANGE_WIFI_STATE" /> <활동 android:name ="com.example.myapplication.MainActivity"> <의도 필터> <액션 android:name ="android.intent.action.MAIN" /> <카테고리 android:name ="android.intent.category.LAUNCHER" /> 응용 프로그램을 실행해 보겠습니다. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고 실행을 클릭하세요. 툴바에서 아이콘. 모바일 장치를 옵션으로 선택한 다음 기본 화면을 표시할 모바일 장치를 확인하십시오 –