[android-developers] Re: Can't connect to SPP device

2010-03-25 Thread philDev
For everybody interested, I posted this question at Stackoverflow and
for the office Hours:

http://stackoverflow.com/questions/2519449/spp-socket-createrfcommsockettoservicerecord-will-not-connect

So if there is going to be a solution, I'm going to post it above.

Thank you

PhilDev

On Mar 24, 11:47 am, Gavin reason...@gmail.com wrote:
 Gui gui.ouellet at gmail.com writes:





  Hi, I currently run android 1.5 on a HTC magic. I'm trying to
  communicate from my phone to abluetoothdevice 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 unofficialbluetoothapi 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.

 Hi,

 I have encounter the same problem (IOException: Unable to start Service) using
 the backport-android on my HTC Hero.
 I want to ask if you have solved the problem? If yes, could you share the way?
 Thanks.

 Gavin

-- 
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

To unsubscribe from this group, send email to 
android-developers+unsubscribegooglegroups.com or reply to this email with the 
words REMOVE ME as the subject.


[android-developers] Re: Can't connect to SPP device

2010-03-20 Thread philDev
As I wrote in my Email I got similiar Problems but I'm really certain
that your app is the client here. There is not as much Documentation
available as I hoped but here is some:

http://developer.android.com/intl/de/guide/topics/wireless/bluetooth.html

Greets

Philipp Toelle

On Mar 19, 1:12 pm, Gui gui.ouel...@gmail.com wrote:
 I guess this is kind of tricky. The device i'm trying to connect is a
 GP-GC021 made by Sure electronics, the documentation is really weak.
 In the documentation, it's a slave device. So that would mean it acts
 has a server listening for connection, and my android would be the
 client ... ?

 I can't use connect() without having a socket initialized, and using
 the listenRfcomm is for server apps, and mine is a client, so
 creatRfcomm is the right method to call...no?

 On Mar 18, 2:57 pm, moneytoo m...@seznam.cz wrote:

  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(1101--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) {

                           

[android-developers] Re: Can't connect to SPP device

2010-03-19 Thread Gui
I guess this is kind of tricky. The device i'm trying to connect is a
GP-GC021 made by Sure electronics, the documentation is really weak.
In the documentation, it's a slave device. So that would mean it acts
has a server listening for connection, and my android would be the
client ... ?

I can't use connect() without having a socket initialized, and using
the listenRfcomm is for server apps, and mine is a client, so
creatRfcomm is the right method to call...no?

On Mar 18, 2:57 pm, moneytoo m...@seznam.cz wrote:
 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(1101--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

[android-developers] Re: Can't connect to SPP device

2010-03-18 Thread moneytoo
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(1101--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