Send messages with bluetooth

How to send/receive messages via bluetooth android studio

I am trying to create an app that allows a string to be sent from one Android phone to another. The code for this is provided below. However, it isn’t working as I keep getting exceptions from the try catch piece of code under the pairDevice() section. Does anyone know why I might be getting this?

import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothSocket; import android.content.Intent; import android.os.ParcelUuid; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Scanner; import java.util.Set; public class MainActivity extends AppCompatActivity < InputStream inStream; OutputStream outputStream; private static final int REQUEST_ENABLE_BT = 1; public void pairDevice() < BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); if (bluetoothAdapter != null && !bluetoothAdapter.isEnabled()) < Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);>Set pairedDevices = bluetoothAdapter.getBondedDevices(); if (pairedDevices.size() > 0) < Object[] devices = pairedDevices.toArray(); BluetoothDevice device = (BluetoothDevice) devices[0]; ParcelUuid[] uuid = device.getUuids(); try < BluetoothSocket socket = device.createInsecureRfcommSocketToServiceRecord(uuid[0].getUuid()); socket.connect(); Toast.makeText(this, "Socket connected", Toast.LENGTH_LONG).show(); outputStream = socket.getOutputStream(); inStream = socket.getInputStream(); >catch (IOException e) < Toast.makeText(this, "Exception found", Toast.LENGTH_LONG).show(); >> > public void SendMessage(View v) < EditText outMessage = (EditText) findViewById(R.id.editText); try < if (outputStream != null) outputStream.write(outMessage.toString().getBytes()); TextView displayMessage = (TextView) findViewById(R.id.textView); Scanner s = new Scanner(inStream).useDelimiter("\\A"); displayMessage.setText(s.hasNext() ? s.next() : ""); >catch (IOException e) Toast.makeText(this,"No output stream", Toast.LENGTH_LONG).show(); > @Override protected void onCreate(Bundle savedInstanceState)

3 Answers 3

I have made few changes to your app:-

Firstly, I shifted the code responsible for creating the Bluetooth connection to ConnectThread .

2) Added AcceptThread responsible for listening incoming connections and ConnectedThread maintaining the BTConnection, Sending the data, and receiving incoming data through input/output streams respectively. 3) Created 2 buttons to start ConnectThread and AcceptThread.

NOTE: Make sure both the devices are paired and the device that you are trying to connect to is at the top of the list(or just remove all the paired devices from both the devices and only pair the devices that you want to connect). Also, you must start the AcceptThread before ConnectThread

MAINACTIVITY.JAVA

public class MainActivity extends AppCompatActivity < private static final UUID MY_UUID_INSECURE = UUID.fromString("8ce255c0-200a-11e0-ac64-0800200c9a66"); private static final int REQUEST_ENABLE_BT = 1; BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); private BluetoothDevice mmDevice; private UUID deviceUUID; ConnectedThread mConnectedThread; private Handler handler; String TAG = "MainActivity"; EditText send_data; TextView view_data; StringBuilder messages; public void pairDevice(View v) < SetpairedDevices = bluetoothAdapter.getBondedDevices(); Log.e("MAinActivity", "" + pairedDevices.size() ); if (pairedDevices.size() > 0) < Object[] devices = pairedDevices.toArray(); BluetoothDevice device = (BluetoothDevice) devices[0]; //ParcelUuid[] uuid = device.getUuids(); Log.e("MAinActivity", "" + device ); //Log.e("MAinActivity", "" + uuid) ConnectThread connect = new ConnectThread(device,MY_UUID_INSECURE); connect.start(); >> private class ConnectThread extends Thread < private BluetoothSocket mmSocket; public ConnectThread(BluetoothDevice device, UUID uuid) < Log.d(TAG, "ConnectThread: started."); mmDevice = device; deviceUUID = uuid; >public void run() < BluetoothSocket tmp = null; Log.i(TAG, "RUN mConnectThread "); // Get a BluetoothSocket for a connection with the // given BluetoothDevice try < Log.d(TAG, "ConnectThread: Trying to create InsecureRfcommSocket using UUID: " +MY_UUID_INSECURE ); tmp = mmDevice.createRfcommSocketToServiceRecord(MY_UUID_INSECURE); >catch (IOException e) < Log.e(TAG, "ConnectThread: Could not create InsecureRfcommSocket " + e.getMessage()); >mmSocket = tmp; // Make a connection to the BluetoothSocket try < // This is a blocking call and will only return on a // successful connection or an exception mmSocket.connect(); >catch (IOException e) < // Close the socket try < mmSocket.close(); Log.d(TAG, "run: Closed Socket."); >catch (IOException e1) < Log.e(TAG, "mConnectThread: run: Unable to close connection in socket " + e1.getMessage()); >Log.d(TAG, "run: ConnectThread: Could not connect to UUID: " + MY_UUID_INSECURE ); > //will talk about this in the 3rd video connected(mmSocket); > public void cancel() < try < Log.d(TAG, "cancel: Closing Client Socket."); mmSocket.close(); >catch (IOException e) < Log.e(TAG, "cancel: close() of mmSocket in Connectthread failed. " + e.getMessage()); >> > private void connected(BluetoothSocket mmSocket) < Log.d(TAG, "connected: Starting."); // Start the thread to manage the connection and perform transmissions mConnectedThread = new ConnectedThread(mmSocket); mConnectedThread.start(); >private class ConnectedThread extends Thread < private final BluetoothSocket mmSocket; private final InputStream mmInStream; private final OutputStream mmOutStream; public ConnectedThread(BluetoothSocket socket) < Log.d(TAG, "ConnectedThread: Starting."); mmSocket = socket; InputStream tmpIn = null; OutputStream tmpOut = null; try < tmpIn = mmSocket.getInputStream(); tmpOut = mmSocket.getOutputStream(); >catch (IOException e) < e.printStackTrace(); >mmInStream = tmpIn; mmOutStream = tmpOut; > public void run() < byte[] buffer = new byte[1024]; // buffer store for the stream int bytes; // bytes returned from read() // Keep listening to the InputStream until an exception occurs while (true) < // Read from the InputStream try < bytes = mmInStream.read(buffer); final String incomingMessage = new String(buffer, 0, bytes); Log.d(TAG, "InputStream: " + incomingMessage); runOnUiThread(new Runnable() < @Override public void run() < view_data.setText(incomingMessage); >>); > catch (IOException e) < Log.e(TAG, "write: Error reading Input Stream. " + e.getMessage() ); break; >> > public void write(byte[] bytes) < String text = new String(bytes, Charset.defaultCharset()); Log.d(TAG, "write: Writing to outputstream: " + text); try < mmOutStream.write(bytes); >catch (IOException e) < Log.e(TAG, "write: Error writing to output stream. " + e.getMessage() ); >> /* Call this from the main activity to shutdown the connection */ public void cancel() < try < mmSocket.close(); >catch (IOException e) < >> > public void SendMessage(View v) < byte[] bytes = send_data.getText().toString().getBytes(Charset.defaultCharset()); mConnectedThread.write(bytes); >@Override protected void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); send_data =(EditText) findViewById(R.id.editText); view_data = (TextView) findViewById(R.id.textView); if (bluetoothAdapter != null && !bluetoothAdapter.isEnabled()) < Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); >> public void Start_Server(View view) < AcceptThread accept = new AcceptThread(); accept.start(); >private class AcceptThread extends Thread < // The local server socket private final BluetoothServerSocket mmServerSocket; public AcceptThread()< BluetoothServerSocket tmp = null ; // Create a new listening server socket try< tmp = bluetoothAdapter.listenUsingInsecureRfcommWithServiceRecord("appname", MY_UUID_INSECURE); Log.d(TAG, "AcceptThread: Setting up Server using: " + MY_UUID_INSECURE); >catch (IOException e) < Log.e(TAG, "AcceptThread: IOException: " + e.getMessage() ); >mmServerSocket = tmp; > public void run()< Log.d(TAG, "run: AcceptThread Running."); BluetoothSocket socket = null; try< // This is a blocking call and will only return on a // successful connection or an exception Log.d(TAG, "run: RFCOM server socket start. "); socket = mmServerSocket.accept(); Log.d(TAG, "run: RFCOM server socket accepted connection."); >catch (IOException e) < Log.e(TAG, "AcceptThread: IOException: " + e.getMessage() ); >//talk about this is in the 3rd if(socket != null) < connected(socket); >Log.i(TAG, "END mAcceptThread "); > public void cancel() < Log.d(TAG, "cancel: Canceling AcceptThread."); try < mmServerSocket.close(); >catch (IOException e) < Log.e(TAG, "cancel: Close of AcceptThread ServerSocket failed. " + e.getMessage() ); >> > 

ACTIVITY_MAIN.XML

Читайте также:  Can you bluetooth android to ipod

Источник

Как отправлять текст с помощью Bluetooth на Android

В данной статье будем говорить о том, как можно отправить текст с помощью Bluetooth на Android. Этот метод имеет в себе ряд плюсов, а также свои особенности, что не делает его универсальным: зато для его реализации достаточно, чтобы оба девайса были в радиусе действия Bluetooth.

Актуальность данного метода

Отправка сообщения

Для того чтобы производить обмен сообщениями по Bluetooth на Android, не требуются деньги на счете вашего оператора. Даже наличие SIM-карты не обязательно. Главное — чтобы оба девайса имели включенный синезуб и находились в доступном радиусе действия своих приемников друг от друга.

Такие возможности для переписки могут быть кстати для студентов, школьников или просто людей, находящихся на совещании. Для сообщений не нужны ни интернет, ни сотовая связь, лишь нормальное соединение без проблем.

Как переписываться

Существуют приложения Bluetooth messenger для Android можно найти несколько, распространяющихся бесплатно в Google Play; о про некоторых из них мы с вами и поговорим.

Все они имеют схожий функционал, отличаются лишь визуальным видом. В нашей статье для рассмотрения мы взяли 3 приложения.

Важно: текстовыми сообщениями между Android по Bluetooth можно обмениваться только с одним человеком одновременно. Также у обоих должно быть установлено одно и тоже приложение, через которое и будет набираться текст.

Активация модуля

Первым делом, перед началом использования софта нужно активировать беспроводную связь на устройстве. Для этого:

Заходим в настройки

Выбираем пункт «Bluetooth»

Включаем Bluetooth

Smart Bluetooth Chat

Эта программа доступна по следующей ссылке.

Smart Bluetooth Chat

  • В одном из них клацните по кнопке в виде трех точек, находящихся вертикально друг над другом в правом верхнем углу окна.

Нажимаем на три точки

Поиск

  • Перед вами отобразится список с устройствами, среди которых нужно выбрать то, с которым хотите начать общение. Нажмите на его имя.
Читайте также:  Dell inspiron 5737 bluetooth

Выбор устройства

Ввод текста

Bluechat

Как уже говорили, это приложение в целом, обладает тем же функционалом, что и остальные, описанные в нашей статье.

BlueChat

Значок в виде лупы

Выбор собеседника

Ввод текста

Bluetooth Chat

Bluetooth Chat

Выбор собеседника

  • Если необходимо, можно обновить список девайсов, нажав на кнопку, которая находится немного правее самого списка.

Обновления списка устройств

Ввод текста

Вот мы и рассказали про приложения Bluetooth messenger на Android:надеемся, что данный способ общения стал кому-то интересен, и вы выбрали для себя ту программу, которая вам понравилась больше. Приятного общения.

Бесплатные сообщения по Wi-Fi на Android: Видео

Источник

как передавать текстовые сообщения с андроида на андроид с помощью bluetooth?

Чтобы передавать текстовые сообщения с Android на Android с помощью Bluetooth, выполните следующие действия:

  1. Убедитесь, что оба устройства поддерживают Bluetooth -включен и функция Bluetooth включена.
  2. На устройстве-отправителе откройте приложение “Сообщения” и найдите текстовые сообщения, которые хотите передать.
  3. Нажмите на три точки в правом верхнем углу сообщения и выберите “Поделиться”.
  4. Выберите “Bluetooth” в списке вариантов обмена.

Как сделать передавать текстовые сообщения с Android на Android (ТРИ способа)

[3 способа] Как передать SMS с Android на Учебник по Android

Если ваш старый Android работает под управлением Android 4.0 или более поздней версии, вы можете использовать встроенную службу резервного копирования Google. Перейдите в “Настройки”> “Резервное копирование и сброс”> “Резервное копирование моих данных” и убедитесь, что учетная запись Google, которую вы хотите использовать, указана в качестве резервной учетной записи. Затем, когда вы настроите свой новый Android, перейдите в “Настройки”> “Резервное копирование и сброс”> “Восстановить данные из резервной копии” и выберите учетную запись, которую хотите использовать. Если на вашем старом Android установлена ​​более ранняя версия Android, чем 4.

Чтобы отправлять текстовые сообщения через Bluetooth на Android, откройте настройки Bluetooth и выберите устройство, на которое хотите отправить сообщение. Коснитесь текстового поля в нижней части экрана и введите сообщение. Когда вы закончите, нажмите кнопку “Отправить”.

Да, сообщения можно передавать с одного телефона Android на другой. Для этого вам понадобится стороннее приложение, например SMS Backup & Restore.

Существует несколько способов передачи MMS с Android на Android. Один из способов — использовать приложение для передачи файлов, например AirDroid, для отправки файлов между вашими устройствами. Другой способ — использовать облачное хранилище, например Google Диск или Dropbox, для хранения файлов в облаке и последующего доступа к ним с другого устройства.

Да, вы можете перенести текстовые сообщения на новый телефон, выполнив следующие действия:
Создайте резервную копию текстовых сообщений со старого телефона.
Перенесите резервную копию на новый телефон.
Восстановите резервную копию на новом телефоне.

Читайте также:  Jbl xtreme bluetooth black

Есть несколько способов сделать это.
Первый способ – использовать такое приложение, как If This Then That (IFTTT). IFTTT позволяет создавать рецепты для пересылки текстовых сообщений с одного номера телефона на другой.
Еще один способ — использовать такой сервис, как MightyText.. MightyText позволяет пересылать текстовые сообщения с одного номера телефона на другой, а также позволяет просматривать текстовые сообщения на компьютере.

Да, текстовые сообщения можно отправлять по Bluetooth. Однако устройство получателя должно быть оснащено Bluetooth, чтобы получить сообщение.

Да, Bluetooth можно использовать для отправки сообщений. Однако это не очень надежный способ отправки сообщений, поскольку сигнал может быть легко прерван.

Чтобы отправлять текстовые сообщения через Bluetooth, вам необходимо подключить телефон к другому устройству. На Android откройте меню “Настройки” и выберите “Bluetooth”. Коснитесь ползунка, чтобы включить Bluetooth, затем коснитесь “Сопряженные устройства” и выберите устройство, с которым хотите установить сопряжение. В iOS откройте меню “Настройки” и выберите “Bluetooth”. Коснитесь ползунка, чтобы включить Bluetooth, затем коснитесь “Мои устройства” и выберите устройство, с которым хотите установить сопряжение.

Да, Smart Switch может передавать текстовые сообщения. Для этого оба устройства должны быть подключены к одной и той же сети Wi-Fi и на обоих устройствах должна быть установлена ​​последняя версия Smart Switch.

На этот вопрос нет универсального ответа, так как лучший способ передачи данных с одного устройства Android на другое может различаться в зависимости от марки и модели ваших устройств. Тем не менее, вы можете рассмотреть несколько способов, включая использование USB-кабеля для подключения устройств, использование таких приложений, как Google Диск или Dropbox, или использование облачного хранилища.

Четкого ответа нет, поскольку у разных пользователей разный опыт. Некоторые говорят, что Google создает резервные копии текстовых сообщений, а другие говорят, что это не так. Лучший способ узнать это — обратиться напрямую в Google.

Для передачи файлов с помощью Bluetooth необходимо выполнить сопряжение устройств. На Android откройте меню “Настройки”, выберите “Bluetooth” и включите Bluetooth. Затем коснитесь устройства, с которым хотите выполнить сопряжение. При появлении запроса введите PIN-код или пароль.
После сопряжения ваших устройств вы можете передавать файлы, открыв диспетчер файлов на своем телефоне Android и выбрав файлы, которые хотите отправить. Нажмите кнопку “Поделиться” и выберите Bluetooth.

Да, вы можете отправлять текстовые сообщения через WIFI. Вам просто нужно убедиться, что ваш телефон подключен к сети WIFI и что у вас есть активный тарифный план..

Чтобы получать текстовые сообщения на Android Auto, необходимо подключить телефон к автомобилю с помощью USB-кабеля. Как только ваш телефон будет подключен, вы должны увидеть уведомление на дисплее автомобиля с надписью “Текстовые сообщения”. Нажмите на это уведомление, и вы сможете читать свои текстовые сообщения на дисплее автомобиля.

  • как передавать сообщения с андроида на андроид через блютуз?
  • Kindle Fire: как передавать и читать PDF-файлы?
  • Можете ли вы передавать оптимальные баллы ПК кому-то…
  • как получать текстовые сообщения на два телефона андроид и…
  • как скачать текстовые картинки с андроида?
  • Могу ли я увидеть текстовые сообщения моего мужа на Verizon?
  • Как удалить все текстовые сообщения сразу?
  • Могу ли я восстановить текстовые сообщения, которые я…
  • как отправлять длинные текстовые сообщения на Android?
  • как выделить все текстовые сообщения на айфоне?
  • Galaxy S8/Note8: блокировать текстовые сообщения и звонки?
  • Android: текстовые сообщения застряли «Загрузка» или «Срок…
  • как автоматически пересылать текстовые сообщения на iphone?
  • как заблокировать текстовые сообщения на lg android?
  • Как не могу отправлять или получать текстовые смс-сообщения…
  • Как отключить групповые текстовые сообщения в Android 11?

Источник

Оцените статью
Adblock
detector