2014-08-29 58 views

回答

1

像这样的东西可能就足够了:

DataOutputStream os; 

BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter(); 

BroadcastReceiver discoveryResult = new BroadcastReceiver() { 
    public void onReceive(Context context, Intent intent) { 
     String remoteDeviceName = intent.getStringExtra(BluetoothDevice.EXTRA_NAME); 
     BluetoothDevice remoteDevice; 

     remoteDevice = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); 

     Toast.makeText(getApplicationContext(), "Discovered: " + remoteDeviceName + " address " + remoteDevice.getAddress(), Toast.LENGTH_SHORT).show(); 

     try{ 
      BluetoothDevice device = bluetooth.getRemoteDevice(remoteDevice.getAddress()); 

      Method m = device.getClass().getMethod("createRfcommSocket", new Class[] {int.class}); 

      BluetoothSocket clientSocket = (BluetoothSocket) m.invoke(device, 1); 

      clientSocket.connect(); 

      os = new DataOutputStream(clientSocket.getOutputStream()); 

      new clientSock().start(); 
     } catch (Exception e) { 
      e.printStackTrace(); 
      Log.e("BLUETOOTH", e.getMessage()); 
     } 
    } 
}; 

registerReceiver(discoveryResult, new IntentFilter(BluetoothDevice.ACTION_FOUND)); 

bluetooth.enable(); 
if (!bluetooth.isDiscovering()) { 
    bluetooth.startDiscovery(); 
} 

public class clientSock extends Thread { 
    public void run() { 
     try { 
      os.writeBytes("anything you want"); // anything you want 
      os.flush(); 
     } catch (Exception e1) { 
      e1.printStackTrace(); 
      return; 
     } 
    } 
} 

您还需要大量进口,如这些的:

import java.io.DataInputStream; 
import java.io.DataOutputStream; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.lang.reflect.Method; 
import java.net.ServerSocket; 
import java.net.Socket; 
import java.net.UnknownHostException; 
import java.util.List; 
import java.util.UUID; 

import android.os.Bundle; 
import android.os.StrictMode; 
import android.app.Activity; 
import android.bluetooth.BluetoothAdapter; 
import android.bluetooth.BluetoothDevice; 
import android.bluetooth.BluetoothSocket; 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.content.IntentFilter; 
import android.util.Log; 
import android.view.Menu; 
import android.widget.Toast; 

注意,并不是所有的进口是必要的这个例子的代码,你的IDE可能会帮助你为你排序。

os.writeBytes("anything you want"); // anything you want行上传递数据。

您还需要Permissions

+0

谢谢,但是在哪里传递数据?以及如何服务器UUID? – ashokgujju 2014-08-30 00:35:01

+0

更新后的答案,UUID实际上并不是我所需要的,但我认为它是旧的代码..大约一岁,所以我实际上并没有记住,你也必须为自己制定沟通的另一面。 – 19greg96 2014-08-30 01:02:33

相关问题