Browse Source

wpadebug: Add WSC request through Android beam

Signed-hostap: Jouni Malinen <j@w1.fi>
Jouni Malinen 12 years ago
parent
commit
e32547ef4c
2 changed files with 42 additions and 0 deletions
  1. 17 0
      wpadebug/res/layout/main.xml
  2. 25 0
      wpadebug/src/w1/fi/wpadebug/MainActivity.java

+ 17 - 0
wpadebug/res/layout/main.xml

@@ -139,4 +139,21 @@
 		    android:onClick="runId"
 		    />
 	</LinearLayout>
+	<TextView
+	    android:layout_width="wrap_content"
+	    android:layout_height="wrap_content"
+	    android:text="NFC commands"
+	    />
+	<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+		      android:layout_width="match_parent"
+		      android:layout_height="wrap_content"
+		      android:orientation="horizontal"
+		      >
+		<Button
+		    android:layout_width="wrap_content"
+		    android:layout_height="wrap_content"
+		    android:text="WPS handover request"
+		    android:onClick="nfcWpsHandoverRequest"
+		    />
+	</LinearLayout>
 </LinearLayout>

+ 25 - 0
wpadebug/src/w1/fi/wpadebug/MainActivity.java

@@ -20,10 +20,14 @@ import android.content.Intent;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.widget.EditText;
+import android.widget.Toast;
 import android.util.Log;
 import android.net.wifi.WifiManager;
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiConfiguration;
+import android.nfc.NdefMessage;
+import android.nfc.NdefRecord;
+import android.nfc.NfcAdapter;
 
 public class MainActivity extends Activity
 {
@@ -180,4 +184,25 @@ public class MainActivity extends Activity
 	intent.putExtra(EXTRA_MESSAGE, sb.toString());
 	startActivity(intent);
     }
+
+    public void nfcWpsHandoverRequest(View view)
+    {
+	NfcAdapter nfc;
+	nfc = NfcAdapter.getDefaultAdapter(this);
+	if (nfc == null) {
+	    Toast.makeText(this, "NFC is not available",
+			   Toast.LENGTH_LONG).show();
+	    return;
+	}
+
+	NdefMessage msg;
+	msg = new NdefMessage(new NdefRecord[] {
+		NdefRecord.createMime("application/vnd.wfa.wsc",
+				      new byte[0])
+	    });
+
+	nfc.setNdefPushMessage(msg, this);
+	Toast.makeText(this, "NFC push message (WSC) configured",
+		       Toast.LENGTH_LONG).show();
+    }
 }