createRfcommSocketToServiceRecord() is used for creating server
socket, you can only call connect() on client socket.

What mode does the device use you are trying to connect to?

Please be aware that these unofficial API for 1.x doesn't work in
server mode.


On Mar 18, 5:00 pm, Gui <gui.ouel...@gmail.com> wrote:
> Hi, I currently run android 1.5 on a HTC magic. I'm trying to
> communicate from my phone to a bluetooth device that supports SPP. I
> can't seem to be able to connect to the device. I have tryed two ways
> to connect:
> 1- via the official 2.0 API using the backport-android to make it work
> on android 1.5
> 2- via the unofficial bluetooth api 0.3
>
> Both method give me an error around the same connection process.
>
> With API 2.0, I can discover devices and pair with them. Then i create
> a socket which seems to work, but when I use the .connect() method, I
> get this error in CatLog:    IOException Unable to start Service
> Discovery. This is related to doSdp() in public class
> BluetoothSocket.
>
> Searching the web, it seems this error is related to a wrong UUID ...
> but I am using the SPP UUID properly.
>
> So, I thought the problem could be backport android, so I tried with
> the unofficial API from Gerdavax (http://code.google.com/p/android-bluetooth/
> )
>
> To connect to a device with this API you first create a socket, then
> you connect using the .openSocket( port number) method. The weird
> thing is, if I try with a new port, it connects, if I try a second
> time, it wont work, unless I change the port. I get a similar related
> error of SDP.
>
> Here is my code for API 2.0, but im pretty sure its ok.
>
> public class RegulVoile extends Activity {
>
>         private BluetoothAdapter adapteurGen= null;
>     private BluetoothDevice moduleDistant = null;
>     public String adressTrouver = null;
>     private BluetoothSocket socketBt = null;
>     private static final UUID MON_UUID =
> UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
>         /** Called when the activity is first created. */
>     @Override
>     public void onCreate(Bundle savedInstanceState) {
>         super.onCreate(savedInstanceState);
>         setContentView(R.layout.main);
>
>         //final TextView modeText=
> (TextView)this.findViewById(R.id.txt_state);
>         //final TextView infoText=
> (TextView)this.findViewById(R.id.txt_name);
>         Button connectionBt =
> (Button)this.findViewById(R.id.btn_connexion);
>
>         adapteurGen = BluetoothAdapter.getDefaultAdapter();
>
>         connectionBt.setOnClickListener(new OnClickListener(){
>                 public void onClick(View v){
>
>                         //make SURE there is not a discovery going on.
>                 adapteurGen.cancelDiscovery();
>
>                         moduleDistant = adapteurGen.getRemoteDevice("00:1D:
> 43:00:D1:0D");
>
>                         try{
>
>                                 socketBt =
> moduleDistant.createRfcommSocketToServiceRecord(MON_UUID);
>
>                         } catch (IOException e) {
>
>                         }
>
>                 //try the connect
>                         try {
>
>                                 socketBt.connect();
>                         } catch (IOException e) {
>                             try {
>                                 e.printStackTrace();
>                                 socketBt.close();
>                             } catch (IOException e2) {
>                             }
>                         }
>
>                 }
>         });
>
>     }
>
>     @Override
>         protected void onStop() {
>         try {
>                         socketBt.close();
>                 } catch (IOException e1) {
>
>                         e1.printStackTrace();
>                 }
>            super.onStop();
>         }
>
>         @Override
>         protected void onDestroy() {
>                 try {
>                         socketBt.close();
>                 } catch (IOException e1) {
>
>                         e1.printStackTrace();
>                 }
>            super.onDestroy();
>         }
>     }

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to