Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.testconection;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.Set;
- import java.util.UUID;
- import android.app.Activity;
- import android.bluetooth.BluetoothAdapter;
- import android.bluetooth.BluetoothDevice;
- import android.bluetooth.BluetoothSocket;
- import android.content.DialogInterface.OnClickListener;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.v7.app.ActionBarActivity;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.widget.Button;
- import android.widget.Toast;
- public class MainActivity extends ActionBarActivity {
- private static final UUID mUUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
- private static final String mMacBluetooth = "XX:XX:XX:XX:XX:XX";
- private final int REQUEST_ENABLE_BT = 1;
- private final String mStrBluetooth = "linvor";
- Button btSend, btRec, btConect, btDesconect;
- private String mStrRec;
- private String mStrSend = "abababa";
- private BluetoothAdapter mBluetoothAdapter;
- private Set<BluetoothDevice> mPairedDevices;
- private BluetoothSocket mBtSocket = null;
- private OutputStream outStream = null;
- private InputStream inStream = null;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //Checa se o bluetooth está disponivel
- mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
- if(mBluetoothAdapter == null){
- System.out.println("Bluetooth não está disponivel!");
- }
- //Checa se o bluetooth está habilitado
- if (!mBluetoothAdapter.isEnabled()) {
- Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
- startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
- }
- btSend = (Button) findViewById(R.id.btSend);
- btRec = (Button) findViewById(R.id.btRec);
- btConect = (Button) findViewById(R.id.btConect);
- btDesconect = (Button) findViewById(R.id.btDesconect);
- //Botão de enviar a string
- btSend.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v){
- //Enviando dados exemplo...
- sendData(mStrSend);
- }
- });
- //Botão de receber a string
- btRec.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v){
- //Enviando dados exemplo...
- recData();
- }
- });
- //Botão de conexão
- btConect.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v){
- //conecta
- conectBtArduinoWithMac();
- }
- });
- //Botão de desconectar
- btDesconect.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v){
- //desconecta
- desconectBtArduino();
- }
- });
- }
- //Método que retorna do startActivityForResult com os códigos de resultado
- protected void onActivityResult(int requestCode, int resultCode, Intent data){
- super.onActivityResult(requestCode, resultCode, data);
- if(requestCode == REQUEST_ENABLE_BT){
- if(resultCode == Activity.RESULT_OK){
- System.out.println("Bluetooth Ativado!");
- }
- else{
- System.out.println("Bluetooth nao foi ativado com sucesso!");
- finish();
- }
- }
- conectBtArduinoWithPareads();
- }
- //Conecta-se com uso do MAC
- public void conectBtArduinoWithMac(){
- //Tenta se conectar a um dispositvo com MAC conhecido(do shild bluetooth)
- BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(mMacBluetooth);
- try{
- //Socket de conexao
- mBtSocket = device.createRfcommSocketToServiceRecord(mUUID);
- //Inicia conexão
- mBtSocket.connect();
- }catch(IOException e){
- System.out.println("Exception gerada: " + e);
- }
- }
- //Conecta-se com dispositivos já pareados
- public void conectBtArduinoWithPareads(){
- mPairedDevices = mBluetoothAdapter.getBondedDevices();
- BluetoothDevice mDeviceBluetooth = null;
- if(mPairedDevices.size() > 0){
- for(BluetoothDevice device : mPairedDevices){
- if(device.getName().equals(mStrBluetooth)){
- mDeviceBluetooth = device;
- break;
- }
- }
- }
- System.out.println("Dispositivo de conexao: " + mDeviceBluetooth.getName());
- try{
- System.out.println("Criando socket de conexao...");
- //Socket de conexao
- mBtSocket = mDeviceBluetooth.createRfcommSocketToServiceRecord(mUUID);
- System.out.println("Requisitando conexao...");
- //Inicia conexão
- mBtSocket.connect();
- }catch(IOException e){
- System.out.println("Exception gerada: " + e);
- }
- }
- //deconecta-se
- public void desconectBtArduino(){
- if(mBtSocket != null){
- try{
- mBtSocket.close();
- mBtSocket = null;
- }catch(IOException e){
- System.out.println("Exception gerada: " + e);
- }
- }
- }
- //Envia dados
- public void sendData(String strRota){
- if(mBtSocket != null){
- try {
- outStream = mBtSocket.getOutputStream();
- } catch (Exception e) {
- System.out.println("Exception(Send): " + e);
- }
- byte[] strRotaBuffer = strRota.getBytes();
- try {
- //outStream.write(strRotaBuffer);
- System.out.println("Enviando string...");
- outStream.write('a');
- } catch (Exception e) {
- System.out.println("Exception(Send): " + e);
- }
- }
- else{
- System.out.println("Bluetooth nao conetado!");
- }
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
- if (id == R.id.action_settings) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement