ตัวอย่างนี้สาธิตวิธีใช้ WiFi Direct บน Android
ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่
ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml
<ปุ่ม android :text ="เปิด wifi" android:id ="@+id/button" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_gravity ="center" />
ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/WifiDirectBroadcastReceiver
แพ็คเกจ com.example.myapplication;นำเข้า android.content.BroadcastReceiver;นำเข้า android.content.Context;นำเข้า android.content.Intent;นำเข้า android.net.wifi.p2p.WifiP2pManager;นำเข้า android.widget.Toast;สาธารณะ คลาส WifiDirectBroadcastReceiver ขยาย BroadcastReceiver { WifiP2pManager wifiP2pManager; WifiP2pManager.ช่องช่อง; กิจกรรมหลักกิจกรรม; WifiDirectBroadcastReceiver สาธารณะ (WifiP2pManager wifiP2pManager, WifiP2pManager.Channel channel, กิจกรรม MainActivity) { this.wifiP2pManager =wifiP2pManager; this.channel =ช่อง; this.activity =กิจกรรม; } @แทนที่โมฆะสาธารณะ onReceive (บริบทบริบท เจตนาเจตนา) { การกระทำของสตริง =Intent.getAction (); ถ้า (WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals (action)) { int state =Intent.getIntExtra (WifiP2pManager.EXTRA_WIFI_STATE, -1); ถ้า (สถานะ ==WifiP2pManager.WIFI_P2P_STATE_ENABLED) { Toast.makeText (กิจกรรม "เปิด Wifi", Toast.LENGTH_SHORT).show (); } อื่น { Toast.makeText (กิจกรรม "ปิด Wifi", Toast.LENGTH_SHORT).show (); } } อื่น if (WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION.equals (action)) { } อื่น if (WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION.equals(action)) { } อื่นหาก (WifiP2pManager.WIFI_DEquals).ขั้นตอนที่ 4 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java
แพ็คเกจ com.example.myapplication;นำเข้า android.content.BroadcastReceiver;นำเข้า android.content.IntentFilter;นำเข้า android.net.wifi.WifiManager;นำเข้า android.net.wifi.p2p.WifiP2pManager;นำเข้า android.support.v7 .app.AppCompatActivity นำเข้า android.os.Bundle นำเข้า android.view.View นำเข้า android.widget.Button นำเข้า android.widget.TextView คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { ข้อความ TextView; ปุ่มปุ่ม; WifiManager mWifiMgr; WifiP2pManager mWifiP2pMgr; WifiP2pManager.Channel mChannel; BroadcastReceiver mReceiver; ตัวกรองเจตนา mIntentFilter; @Override ป้องกันโมฆะ onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); ปุ่ม =findViewById(R.id.button); mWifiMgr =(WifiManager) getApplicationContext().getSystemService(WIFI_SERVICE); mWifiMgr.setWifiEnabled(เท็จ); mWifiP2pMgr =(WifiP2pManager) getApplicationContext().getSystemService(WIFI_P2P_SERVICE); mChannel =mWifiP2pMgr.initialize(นี่, getMainLooper(), null); mReceiver =WifiDirectBroadcastReceiver ใหม่ (mWifiP2pMgr, mChannel, this); mIntentFilter =ตัวกรองเจตนาใหม่ (); 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 (View.OnClickListener ใหม่ () { @แทนที่โมฆะสาธารณะ onClick (ดู v) { ถ้า (mWifiMgr.isWifiEnabled ()) { mWifiMgr.setWifiEnabled (เท็จ); button.setText ("เปิด wifi"); } อื่น { mWifiMgr.setWifiEnabled (จริง); button.setText ("ปิด wifi"); } } }); } @Override ป้องกันโมฆะ onResume () { super.onResume (); registerReceiver (mReceiver, mIntentFilter); } @Override ป้องกันโมฆะ onPause() { super.onPause(); unregisterReceiver(mReceiver); }}ขั้นตอนที่ 5 − เพิ่มรหัสต่อไปนี้ใน androidManifest.xml
<หมวดหมู่ android:name ="android.intent.category.LAUNCHER" /> มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์ของคุณแล้วคลิก Run ไอคอนจากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ –