Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.00 KB | None | 0 0
  1. package com.example.vato.bluetoothcontrol;
  2.  
  3. import android.Manifest;
  4. import android.bluetooth.BluetoothAdapter;
  5. import android.bluetooth.BluetoothDevice;
  6. import android.bluetooth.BluetoothManager;
  7. import android.bluetooth.BluetoothProfile;
  8. import android.bluetooth.BluetoothSocket;
  9. import android.content.pm.PackageManager;
  10. import android.os.Build;
  11. import android.os.ParcelUuid;
  12. import android.support.v4.app.ActivityCompat;
  13. import android.support.v4.content.ContextCompat;
  14. import android.support.v7.app.AppCompatActivity;
  15. import android.os.Bundle;
  16. import android.util.Log;
  17. import android.view.View;
  18. import android.widget.Button;
  19. import android.widget.ListView;
  20.  
  21. import java.io.IOException;
  22. import java.io.InputStream;
  23. import java.io.OutputStream;
  24. import java.lang.reflect.Method;
  25. import java.util.ArrayList;
  26. import java.util.List;
  27. import java.util.Set;
  28. import java.util.UUID;
  29.  
  30. public class MainActivity extends AppCompatActivity {
  31.  
  32. private String[] permissionList = {
  33. Manifest.permission.BLUETOOTH,
  34. Manifest.permission.BLUETOOTH_ADMIN
  35. };
  36.  
  37. private void getPermissions() {
  38. for (String permission : permissionList) {
  39. if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {
  40. ActivityCompat.requestPermissions(this, new String[] {permission}, 1);
  41. }
  42. }
  43. }
  44.  
  45. private List<Finger> fingerList;
  46. private FingerListAdapter adapter;
  47.  
  48. @Override
  49. protected void onCreate(Bundle savedInstanceState) {
  50. super.onCreate(savedInstanceState);
  51. setContentView(R.layout.activity_main);
  52. getPermissions();
  53. new Thread(new Runnable() {
  54. @Override
  55. public void run() {
  56. try {
  57. init();
  58. } catch (Exception e) {
  59. e.printStackTrace();
  60. }
  61. }
  62. }).start();
  63. initFingerList();
  64. initFingerAdapter();
  65. }
  66.  
  67. private void initFingerAdapter() {
  68. ListView view = (ListView) findViewById(R.id.fingers);
  69. assert view != null;
  70. adapter = new FingerListAdapter(this, R.id.fingers, fingerList);
  71. view.setAdapter(adapter);
  72. Button button = (Button) findViewById(R.id.save_button);
  73. assert button != null;
  74. button.setOnClickListener(new ButtonClickListener());
  75. }
  76.  
  77. private void initFingerList() {
  78. fingerList = new ArrayList<>();
  79. for (int i=0; i<5; i++) {
  80. fingerList.add(new Finger(i+1, 0));
  81. }
  82. }
  83.  
  84. protected void submitFingers(List<Finger> fingerList) {
  85. for (int i=0; i<fingerList.size(); i++) {
  86. try {
  87. write("a");
  88. } catch (IOException e) {
  89. e.printStackTrace();
  90. }
  91. }
  92. }
  93.  
  94. private OutputStream outputStream;
  95. private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
  96.  
  97. private BluetoothSocket createBluetoothSocket(BluetoothDevice device) throws IOException {
  98. if(Build.VERSION.SDK_INT >= 10){
  99. try {
  100. final Method m = device.getClass().getMethod("createInsecureRfcommSocketToServiceRecord", new Class[] { UUID.class });
  101. return (BluetoothSocket) m.invoke(device, MY_UUID);
  102. } catch (Exception e) {
  103. Log.e("TEMP", "Could not create Insecure RFComm Connection",e);
  104. }
  105. }
  106. return device.createRfcommSocketToServiceRecord(MY_UUID);
  107. }
  108.  
  109. private void init() throws Exception {
  110.  
  111. BluetoothAdapter blueAdapter = BluetoothAdapter.getDefaultAdapter();
  112. if (blueAdapter != null) {
  113. if (blueAdapter.isEnabled()) {
  114. Set<BluetoothDevice> pairedDevices = blueAdapter.getBondedDevices();
  115. String deviceAddress = "";
  116. if (pairedDevices.size() > 0) {
  117. for (BluetoothDevice device : pairedDevices) {
  118. if (device.getName().equals("RNBT-7105")) {
  119. deviceAddress = device.getAddress();
  120. }
  121. }
  122. }
  123. BluetoothDevice current = blueAdapter.getRemoteDevice(deviceAddress);
  124.  
  125. BluetoothConnector connector = new BluetoothConnector(current, true, blueAdapter, null);
  126. connector.connect();
  127.  
  128. } else {
  129. Log.e("error", "Bluetooth is disabled.");
  130. }
  131. }
  132. }
  133.  
  134. public void write(String s) throws IOException {
  135. outputStream.write(s.getBytes());
  136. }
  137.  
  138. private class ButtonClickListener implements View.OnClickListener {
  139.  
  140. @Override
  141. public void onClick(View v) {
  142. List<Finger> fingers = new ArrayList<>();
  143. for (int i=0; i<adapter.getCount(); i++) {
  144. fingers.add(adapter.getItem(i));
  145. }
  146. submitFingers(fingers);
  147. }
  148. }
  149. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement