activity start -------------------------------------------------------

package Android.Arduino.Bluetooth;import android.app.Activity;import 
android.bluetooth.BluetoothAdapter;import 
android.bluetooth.BluetoothDevice;import 
android.bluetooth.BluetoothSocket;import android.content.Intent;import 
android.os.Bundle;import android.os.Handler;import android.view.View;import 
android.widget.TextView;import android.widget.EditText;  import 
android.widget.Button;import java.io.IOException;import 
java.io.InputStream;import java.io.OutputStream;import java.util.Set;import 
java.util.UUID;
public class MainActivity extends Activity{TextView myLabel;EditText 
myTextbox;BluetoothAdapter mBluetoothAdapter;BluetoothSocket 
mmSocket;BluetoothDevice mmDevice;OutputStream mmOutputStream;InputStream 
mmInputStream;Thread workerThread;byte[] readBuffer;int readBufferPosition;int 
counter;volatile boolean stopWorker;
@Overridepublic void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button openButton = (Button)findViewById(R.id.open);
    Button sendButton = (Button)findViewById(R.id.send);
    Button closeButton = (Button)findViewById(R.id.close);
    myLabel = (TextView)findViewById(R.id.label);
    myTextbox = (EditText)findViewById(R.id.entry);

    //Open Button
    openButton.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            try 
            {
                findBT();
                openBT();
            }
            catch (IOException ex) { }
        }
    });

    //Send Button
    sendButton.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            try 
            {
                sendData();
            }
            catch (IOException ex) { }
        }
    });

    //Close button
    closeButton.setOnClickListener(new View.OnClickListener()
    {
        public void onClick(View v)
        {
            try 
            {
                closeBT();
            }
            catch (IOException ex) { }
        }
    });}
void findBT(){
    mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
    if(mBluetoothAdapter == null)
    {
        myLabel.setText("No bluetooth adapter available");
    }

    if(!mBluetoothAdapter.isEnabled())
    {
        Intent enableBluetooth = new 
Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBluetooth, 0);
    }

    Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
    if(pairedDevices.size() > 0)
    {
        for(BluetoothDevice device : pairedDevices)
        {
            if(device.getName().equals("MattsBlueTooth")) 
            {
                mmDevice = device;
                break;
            }
        }
    }
    myLabel.setText("Bluetooth Device Found");}
void openBT() throws IOException{
    UUID uuid = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB"); 
//Standard SerialPortService ID
    mmSocket = mmDevice.createRfcommSocketToServiceRecord(uuid);        
    mmSocket.connect();
    mmOutputStream = mmSocket.getOutputStream();
    mmInputStream = mmSocket.getInputStream();

    beginListenForData();

    myLabel.setText("Bluetooth Opened");}
void beginListenForData(){
    final Handler handler = new Handler(); 
    final byte delimiter = 10; //This is the ASCII code for a newline character

    stopWorker = false;
    readBufferPosition = 0;
    readBuffer = new byte[1024];
    workerThread = new Thread(new Runnable()
    {
        public void run()
        {                
           while(!Thread.currentThread().isInterrupted() && !stopWorker)
           {
                try 
                {
                    int bytesAvailable = mmInputStream.available();             
           
                    if(bytesAvailable > 0)
                    {
                        byte[] packetBytes = new byte[bytesAvailable];
                        mmInputStream.read(packetBytes);
                        for(int i=0;i<bytesAvailable;i++)
                        {
                            byte b = packetBytes[i];
                            if(b == delimiter)
                            {
     byte[] encodedBytes = new byte[readBufferPosition];
     System.arraycopy(readBuffer, 0, encodedBytes, 0, encodedBytes.length);
     final String data = new String(encodedBytes, "US-ASCII");
     readBufferPosition = 0;

                                handler.post(new Runnable()
                                {
                                    public void run()
                                    {
                                        myLabel.setText(data);
                                    }
                                });
                            }
                            else
                            {
                                readBuffer[readBufferPosition++] = b;
                            }
                        }
                    }
                } 
                catch (IOException ex) 
                {
                    stopWorker = true;
                }
           }
        }
    });

    workerThread.start();}
void sendData() throws IOException{
    String msg = myTextbox.getText().toString();
    msg += "\n";
    mmOutputStream.write(msg.getBytes());
    myLabel.setText("Data Sent");}
void closeBT() throws IOException{
    stopWorker = true;
    mmOutputStream.close();
    mmInputStream.close();
    mmSocket.close();
    myLabel.setText("Bluetooth Closed");}}


activity end ----------------------------------------------------

layout start -----------------------------------------------------

<?xml version="1.0" encoding="utf-8"?><RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="fill_parent"android:layout_height="fill_parent"tools:ignore="TextFields,HardcodedText";
 >
<TextView
    android:id="@+id/label"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Type here:" />
<EditText
    android:id="@+id/entry"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/label"
    android:background="@android:drawable/editbox_background" />
<Button
    android:id="@+id/open"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@id/entry"
    android:layout_marginLeft="10dip"
    android:text="Open" />
<Button
    android:id="@+id/send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@id/open"
    android:layout_toLeftOf="@id/open"
    android:text="Send" />
<Button
    android:id="@+id/close"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@id/send"
    android:layout_toLeftOf="@id/send"
    android:text="Close" />


layout end ------------------------------------------------------

manifest start -------------------------------------------------

</application><uses-permission android:name="android.permission.BLUETOOTH" />


manifest end --------------------------------------------------

On Friday, June 26, 2015 at 7:23:15 PM UTC+5:30, mike digioia wrote:
>
> submit me
>
> On Wed, Jun 24, 2015 at 6:14 AM, Jags <jag...@gmail.com <javascript:>> 
> wrote:
>
>> Thanks a lot treking,
>>
>> I am using the code as is in the link below
>>
>>
>> http://stackoverflow.com/questions/13450406/how-to-receive-serial-data-using-android-bluetooth
>>
>> now, data is getting transferred properly. But i need a entrypoint in my 
>> application when bluetooth is paired or sends some data, my application 
>> needs to wake up from closing state, so that i can do other transfers 
>> according to session.
>>
>> hope i am clear now
>>
>> regards
>> jags
>>
>> On Monday, June 22, 2015 at 7:57:30 AM UTC+5:30, TreKing wrote:
>>>
>>> You should explain how you're going about to getting bluetooth data now 
>>> (like with code snippets). You minimal description is too vague for anyone 
>>> to really address.
>>>
>>> On Thu, Jun 18, 2015 at 4:19 AM, Jags <jag...@gmail.com> wrote:
>>>
>>>> my current application is about reading data from a bluetooth device. 
>>>> when my application is in background, my application wakes up and receives 
>>>> data properly. But when the application is stopped by me from list of 
>>>> background apps, or the app has not run at all, the application does not 
>>>> wake up.
>>>>
>>>> Request experts to guide me to a solution approach. I want my 
>>>> application to wake up from stopped state when bluetooth pair happens or 
>>>> data is pushed from bluetooth.
>>>>
>>>> thanks and regards
>>>> jags
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Android Developers" group.
>>>>
>>>>
>>>
>>>
>>> -- 
>>>
>>>
>>> -------------------------------------------------------------------------------------------------
>>> TreKing <http://sites.google.com/site/rezmobileapps/treking> - Chicago 
>>> transit tracking app for Android-powered devices
>>>  
>>  -- 
>> You received this message because you are subscribed to the Google
>> Groups "Android Developers" group.
>> To post to this group, send email to android-d...@googlegroups.com 
>> <javascript:>
>> To unsubscribe from this group, send email to
>> android-developers+unsubscr...@googlegroups.com <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/android-developers?hl=en
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "Android Developers" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to android-developers+unsubscr...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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
--- 
You received this message because you are subscribed to the Google Groups 
"Android Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to android-developers+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to