Antes de querer desenvolver qualquer aplicativo que necessite da tecnologia do Bluetooth, voce precisa primeiro listar os aparelhos disponiveis na redondeza e guardar algumas informacoes importantes como o nome do aparelho encontrado e seu respectivo Mac Address para que uma conexao seja efetuada futuramente.Diferente do que se imagina, para se listar os aparelhos que estao ligados no recurso do Bluetooth, nao existe nenhuma complicacao. O proprio Google Android nos facilita muito atraves da classe BluetoothAdapter que encapsula toda a complicacao que se pode ter no gerenciamento desse processo.Basicamente, para listarmos os aparelhos, precisamos dizer ao BluetoothAdapter que inicialize a busca por aparelhos. O BluetoothAdapter quando inicializar a busca ira lancar um BroadcastReceiver com uma Intent com a respectiva action BluetoothAdapter.ACTION_STARTED_DISCOVERY, e outro BroadcastReceiver quando a busca for finalizada com a action BluetoothAdapter.ACTION_FINISHED_DISCOVERY, e por final, quando algum aparelho for encontrado sera lancado outro Broadcast com a action BluetoothDevice.ACTION_FOUND!public class BluetoothActivity extends Activity { private String STARTED = BluetoothAdapter.ACTION_DISCOVERY_STARTED; private String FINISHED = BluetoothAdapter.ACTION_DISCOVERY_FINISHED; private String FOUND = BluetoothDevice.ACTION_FOUND; private BluetoothAdapter mBTAdapter; private BluetoothReceiver mReceiver; private List mDevices; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mBTAdapter = BluetoothAdapter.getDefaultAdapter(); mReceiver = new BluetoothReceiver(); } @Override public void onResume() { super.onResume(); registerReceiver(mReceiver, new IntentFilter(STARTED)); registerReceiver(mReceiver, new IntentFilter(FINISHED)); registerReceiver(mReceiver, new IntentFilter(FOUND)); mBTAdapter.startDiscovery(); } @Override public void onPause() { super.onPause(); if (mDevices != null) { mDevices.clear(); } mBTAdapter.cancelDiscovery(); unregisterReceiver(mReceiver); } private class BluetoothReceiver extends BroadcastReceiver { @Override public void onReceiver(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(STARTED) { // Comecou a procurar os aparelhos com bluetooth... } else if (action.equals(FINISHED)) { // Terminou a procura por aparelhos... } else if (action.equals(FOUND)) { // Aparelho encontrado... BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); short rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI, Short.MIN_VALUE); String deviceName = device.getName(); String deviceAddress = device.getAddress(); Log.d("Bluetooth", "Nome = " + deviceName + " - MAC: " + deviceAddress); if (mDevices == null) { mDevices = new ArrayList(); } if (!mDevices.contains(device)) { mDevices.add(device); } } } }}Espero que ajude voces,Att,Felipe Bonezi Ao desenvolver uma aplicativo na empresa em que trabalho, uma de minhas necessidades foi a criacao de um componente visual (i.e. View) responsavel por tratar eventos de touch screen e que o mesmo desenha-se o pontos em que o dedo passava. Para isso, criei uma classe chamada DrawingBoard que possui algumas peculiaridades como limpeza do que foi desenhado e pre-desenho de um texto para que o usuario saiba que ele pode desenhar na respectiva area. Antes de mais nada, vou falar uma pouco sobre a classe View. Ela e responsavel por todos os componentes visuais do Android, afinal, como o Java utiliza os conceitos de henranca dizemos que a classe View e pai (i.e. Super Class) de todos os componentes visuais no Android. Com isso, nossa DrawingBoard tambem herdara de View para que a mesma possua suas propriedades. Em especial, utilizaremos os metodos onDraw() - responsavel por renderizar na tela os tracos baseado em coordenadas passadas pelo touch do usuario - e onTouchEvent - responsavel por analisar as acoes de movimentos do dedo do usuario. DrawingBoard: package br.com.infocusweb.flexpag.models.views;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.util.Calendar;import android.content.Context;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import