package greendrm.bluetooth;
import java.util.Set;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.EditText;
public class BluetoothActivity extends Activity {
// Intent request codes
private static final int REQUEST_CONNECT_DEVICE_SECURE = 1;
private static final int REQUEST_CONNECT_DEVICE_INSECURE = 2;
private static final int REQUEST_ENABLE_BT = 3;
private EditText etView;
private BluetoothAdapter mBTAdapter;
private ArrayAdapter<String> mArrayAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
etView = (EditText)findViewById(R.id.editText1);
mArrayAdapter = new ArrayAdapter<String>(this, 0);
etView.append("Start\n");
mBTAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBTAdapter == null) {
etView.append("Warning: device doest not support Bluetooth\n");
}
// enable the BT
if (mBTAdapter != null && !mBTAdapter.isEnabled()) {
etView.append("try to enable BT...\n");
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
// query about paired devices
etView.append("Paired Device\n---------------\n");
Set<BluetoothDevice> pairedDevice = mBTAdapter.getBondedDevices();
if (pairedDevice.size() != 0) {
for (BluetoothDevice device : pairedDevice) {
etView.append(device.getName()+ "\n" + device.getAddress() + "\n");
}
}
// register
IntentFilter filter = new IntentFilter();
filter.addAction(BluetoothDevice.ACTION_FOUND);
filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
registerReceiver(mReceiver, filter);
mBTAdapter.startDiscovery();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_ENABLE_BT) {
if (resultCode == Activity.RESULT_OK) {
etView.append("BT Enabled!\n");
mBTAdapter.startDiscovery();
}
else {
etView.append("Trying to enable BT is failed\n");
}
}
super.onActivityResult(requestCode, resultCode, data);
}
final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device =
intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
etView.append("Discovered Device\n---------------\n");
etView.append(device.getName()+ "\n" + device.getAddress() + "\n");
}
else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
etView.append("Discoverd finished\n");
}
}
};
}