Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Bluetooth- приложение - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Убрать резкие скачки http://www.cyberforum.ru/android-dev/thread1542919.html
Всем привет! Как можно убрать резкие скачки из List<Double>? Например есть LIst 4.535978136650184 4.100957432613858 4.100957432613858 3.7036417227242127 4.535978136650184
Программирование Android Array type expected; found: 'java.lang.string' public boolean numCheck(String str, int sys) { boolean sysCheck = false; for (int i = 0; i < str.length(); i++) { if... http://www.cyberforum.ru/android-dev/thread1542884.html
Программирование Android "Безобидная" прога
Доброго времени суток, форумчане! Необходима помощь: нужна программа которую человек запустит на телефоне, а программа в свою очередь скинет инфу о телефоне этого человека куда-нибудь (смс или почта,...
Программирование Android Установка программы QtADB на стационарный компьютер
Добрый день! Второй день пытаемся установить на стационарный компьютер программу QtADB (графический интерфейс ADB). Android Studio (ADB) предварительно установили. При запуске программы QtADB...
Программирование Android Как правильно сверстать подобную схему? http://www.cyberforum.ru/android-dev/thread1542821.html
Пишу приложение заказа ЖД билетов. Необходимо сверстать активити, который будет отображать схемы. Как правильнее всего сверстать подобную схему? Схемы бывают разные, и как видно на этой может быть...
Программирование Android Ошибка при запуске Android Studio При запуске программы будь, то это пустой проект или шаблон , одно и то же . Уже и удалял все и переустанавливал все подробнее

Показать сообщение отдельно
artemiys
2 / 2 / 1
Регистрация: 09.01.2015
Сообщений: 80

Bluetooth- приложение - Программирование Android

02.10.2015, 14:06. Просмотров 697. Ответов 3
Метки (Все метки)

Приложение устанавливается на телефон, при запуске вылетает с надписью: "В приложение произошла ошибка" в чем может быть проблема. Версия андроида совпадает с заявленной при создании проекта
код в MainActivity.java
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
package ru.at.blabla;
 
import java.io.IOException;
import java.io.OutputStream;
import java.util.UUID;
 
import ru.at.blabla.R;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
 
public class MainActivity extends Activity {
      private static final String TAG = "bluetooth1";
     
      Button button1, button2;//Указываем id наших кнопок
     
      private static final int REQUEST_ENABLE_BT = 1;
      private BluetoothAdapter btAdapter = null;
      private BluetoothSocket btSocket = null;
      private OutputStream outStream = null;
     
      // SPP UUID сервиса 
      private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");
      // MAC-адрес Bluetooth модуля
      private static String address = "00:01:95:07:77:4B";  //Вместо “00:00” Нужно нудет ввести MAC нашего bluetooth
     
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     
        setContentView(R.layout.main);
     
        button1 = (Button) findViewById(R.id.button1); //Добавляем сюда имена наших кнопок
        button2 = (Button) findViewById(R.id.button2);
     
        btAdapter = BluetoothAdapter.getDefaultAdapter();
        checkBTState();
     
        button1.setOnClickListener(new OnClickListener()  //Если будет нажата кнопка 1 то
        { 
          public void onClick(View v) 
          {
            sendData("1");         // Посылаем цифру 1 по bluetooth
            Toast.makeText(getBaseContext(), "Включаем LED", Toast.LENGTH_SHORT).show();  //выводим на устройстве сообщение
          }
        });
     
        button2.setOnClickListener(new OnClickListener() {
          public void onClick(View v) 
            {
            sendData("2"); // Посылаем цифру 1 по bluetooth
            Toast.makeText(getBaseContext(), "Выключаем LED", Toast.LENGTH_SHORT).show(); 
          }
        });
      }
     
      @Override
      public void onResume() {
        super.onResume();
     
        Log.d(TAG, "...onResume - попытка соединения...");
     
        // Set up a pointer to the remote node using it's address.
        BluetoothDevice device = btAdapter.getRemoteDevice(address);
     
        // Two things are needed to make a connection:
        //   A MAC address, which we got above.
        //   A Service ID or UUID.  In this case we are using the
        //     UUID for SPP.
        try {
          btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);
        } catch (IOException e) {
          errorExit("Fatal Error", "In onResume() and socket create failed: " + e.getMessage() + ".");
        }
     
        // Discovery is resource intensive.  Make sure it isn't going on
        // when you attempt to connect and pass your message.
        btAdapter.cancelDiscovery();
     
        // Establish the connection.  This will block until it connects.
        Log.d(TAG, "...Соединяемся...");
        try {
          btSocket.connect();
          Log.d(TAG, "...Соединение установлено и готово к передачи данных...");
        } catch (IOException e) {
          try {
            btSocket.close();
          } catch (IOException e2) {
            errorExit("Fatal Error", "In onResume() and unable to close socket during connection failure" + e2.getMessage() + ".");
          }
        }
     
        // Create a data stream so we can talk to server.
        Log.d(TAG, "...Создание Socket...");
     
        try {
          outStream = btSocket.getOutputStream();
        } catch (IOException e) {
          errorExit("Fatal Error", "In onResume() and output stream creation failed:" + e.getMessage() + ".");
        }
      }
     
      @Override
      public void onPause() {
        super.onPause();
     
        Log.d(TAG, "...In onPause()...");
     
        if (outStream != null) {
          try {
            outStream.flush();
          } catch (IOException e) {
            errorExit("Fatal Error", "In onPause() and failed to flush output stream: " + e.getMessage() + ".");
          }
        }
     
        try     {
          btSocket.close();
        } catch (IOException e2) {
          errorExit("Fatal Error", "In onPause() and failed to close socket." + e2.getMessage() + ".");
        }
      }
     
      private void checkBTState() {
        // Check for Bluetooth support and then check to make sure it is turned on
        // Emulator doesn't support Bluetooth and will return null
        if(btAdapter==null) { 
          errorExit("Fatal Error", "Bluetooth не поддерживается");
        } else {
          if (btAdapter.isEnabled()) {
            Log.d(TAG, "...Bluetooth включен...");
          } else {
            //Prompt user to turn on Bluetooth
            Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
          }
        }
      }
     
      private void errorExit(String title, String message){
        Toast.makeText(getBaseContext(), title + " - " + message, Toast.LENGTH_LONG).show();
        finish();
      }
     
      private void sendData(String message) {
        byte[] msgBuffer = message.getBytes();
     
        Log.d(TAG, "...Посылаем данные: " + message + "...");
     
        try {
          outStream.write(msgBuffer);
        } catch (IOException e) {
          String msg = "In onResume() and an exception occurred during write: " + e.getMessage();
          if (address.equals("00:01:95:07:77:4B")) 
            msg = msg + ".\n\nВ переменной address у вас прописан 00:01:95:07:77:4B, вам необходимо прописать реальный MAC-адрес Bluetooth модуля";
            msg = msg +  ".\n\nПроверьте поддержку SPP UUID: " + MY_UUID.toString() + " на Bluetooth модуле, к которому вы подключаетесь.\n\n";
     
            errorExit("Fatal Error", msg);       
        }
      }
    }
Добавление в имеющемся коде в манифесте
Java
1
2
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <uses-permission android:name="android.permission.BLUETOOTH"/>
кто знает с чем может быть связана проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru