Created
April 9, 2014 06:46
-
-
Save Technicus/10232904 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| private static final int REQUEST_ENABLE_BT = 1; | |
| private Button onBtn; | |
| private Button offBtn; | |
| private Button listBtn; | |
| private Button findBtn; | |
| private TextView text; | |
| private BluetoothAdapter myBluetoothAdapter; | |
| private Set<BluetoothDevice> pairedDevices; | |
| private ListView myListView; | |
| private ArrayAdapter<String> BTArrayAdapter; | |
| @Override | |
| protected void onCreate(Bundle savedInstanceState) { | |
| super.onCreate(savedInstanceState); | |
| setContentView(R.layout.activity_main); | |
| // take an instance of BluetoothAdapter - Bluetooth radio | |
| myBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); | |
| if(myBluetoothAdapter == null) { | |
| onBtn.setEnabled(false); | |
| offBtn.setEnabled(false); | |
| listBtn.setEnabled(false); | |
| findBtn.setEnabled(false); | |
| text.setText("Status: not supported"); | |
| Toast.makeText(getApplicationContext(),"Your device does not support Bluetooth", | |
| Toast.LENGTH_LONG).show(); | |
| } else { | |
| text = (TextView) findViewById(R.id.text); | |
| onBtn = (Button)findViewById(R.id.turnOn); | |
| onBtn.setOnClickListener(new OnClickListener() { | |
| @Override | |
| public void onClick(View v) { | |
| // TODO Auto-generated method stub | |
| on(v); | |
| } | |
| }); | |
| offBtn = (Button)findViewById(R.id.turnOff); | |
| offBtn.setOnClickListener(new OnClickListener() { | |
| @Override | |
| public void onClick(View v) { | |
| // TODO Auto-generated method stub | |
| off(v); | |
| } | |
| }); | |
| listBtn = (Button)findViewById(R.id.paired); | |
| listBtn.setOnClickListener(new OnClickListener() { | |
| @Override | |
| public void onClick(View v) { | |
| // TODO Auto-generated method stub | |
| list(v); | |
| } | |
| }); | |
| findBtn = (Button)findViewById(R.id.search); | |
| findBtn.setOnClickListener(new OnClickListener() { | |
| @Override | |
| public void onClick(View v) { | |
| // TODO Auto-generated method stub | |
| find(v); | |
| } | |
| }); | |
| myListView = (ListView)findViewById(R.id.listView1); | |
| // create the arrayAdapter that contains the BTDevices, and set it to the ListView | |
| BTArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1); | |
| myListView.setAdapter(BTArrayAdapter); | |
| } | |
| } | |
| public void on(View view){ | |
| if (!myBluetoothAdapter.isEnabled()) { | |
| Intent turnOnIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); | |
| startActivityForResult(turnOnIntent, REQUEST_ENABLE_BT); | |
| Toast.makeText(getApplicationContext(),"Bluetooth turned on" , | |
| Toast.LENGTH_LONG).show(); | |
| } | |
| else{ | |
| Toast.makeText(getApplicationContext(),"Bluetooth is already on", | |
| Toast.LENGTH_LONG).show(); | |
| } | |
| } | |
| @Override | |
| protected void onActivityResult(int requestCode, int resultCode, Intent data) { | |
| // TODO Auto-generated method stub | |
| if(requestCode == REQUEST_ENABLE_BT){ | |
| if(myBluetoothAdapter.isEnabled()) { | |
| text.setText("Status: Enabled"); | |
| } else { | |
| text.setText("Status: Disabled"); | |
| } | |
| } | |
| } | |
| public void list(View view){ | |
| // get paired devices | |
| pairedDevices = myBluetoothAdapter.getBondedDevices(); | |
| // put it's one to the adapter | |
| for(BluetoothDevice device : pairedDevices) | |
| BTArrayAdapter.add(device.getName()+ "\n" + device.getAddress()); | |
| Toast.makeText(getApplicationContext(),"Show Paired Devices", | |
| Toast.LENGTH_SHORT).show(); | |
| } | |
| final BroadcastReceiver bReceiver = new BroadcastReceiver() { | |
| public void onReceive(Context context, Intent intent) { | |
| String action = intent.getAction(); | |
| // When discovery finds a device | |
| if (BluetoothDevice.ACTION_FOUND.equals(action)) { | |
| // Get the BluetoothDevice object from the Intent | |
| BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); | |
| // add the name and the MAC address of the object to the arrayAdapter | |
| BTArrayAdapter.add(device.getName() + "\n" + device.getAddress()); | |
| BTArrayAdapter.notifyDataSetChanged(); | |
| } | |
| } | |
| }; | |
| public void find(View view) { | |
| if (myBluetoothAdapter.isDiscovering()) { | |
| // the button is pressed when it discovers, so cancel the discovery | |
| myBluetoothAdapter.cancelDiscovery(); | |
| } | |
| else { | |
| BTArrayAdapter.clear(); | |
| myBluetoothAdapter.startDiscovery(); | |
| registerReceiver(bReceiver, new IntentFilter(BluetoothDevice.ACTION_FOUND)); | |
| } | |
| } | |
| public void off(View view){ | |
| myBluetoothAdapter.disable(); | |
| text.setText("Status: Disconnected"); | |
| Toast.makeText(getApplicationContext(),"Bluetooth turned off", | |
| Toast.LENGTH_LONG).show(); | |
| } | |
| @Override | |
| protected void onDestroy() { | |
| // TODO Auto-generated method stub | |
| super.onDestroy(); | |
| unregisterReceiver(bReceiver); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment