Bluetooth является способом отправки или получения данных между двумя разными устройствами. Платформа Android включает поддержку структуры Bluetooth, которая позволяет устройству обмениваться данными по беспроводной связи с другими устройствами Bluetooth.
Android предоставляет Bluetooth API для выполнения этих различных операций.
-
Сканирование для других устройств Bluetooth
-
Получить список сопряженных устройств
-
Подключение к другим устройствам через обнаружение услуг
Сканирование для других устройств Bluetooth
Получить список сопряженных устройств
Подключение к другим устройствам через обнаружение услуг
Android предоставляет класс BluetoothAdapter для связи с Bluetooth. Создайте объект этого вызова, вызвав статический метод getDefaultAdapter (). Его синтаксис приведен ниже.
private BluetoothAdapter BA; BA = BluetoothAdapter.getDefaultAdapter();
Чтобы включить Bluetooth вашего устройства, вызовите намерение со следующей константой Bluetooth ACTION_REQUEST_ENABLE. Его синтаксис есть.
Intent turnOn = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(turnOn, 0);
Помимо этой константы есть и другие константы, предоставляемые API, которые поддерживают различные задачи. Они перечислены ниже.
Sr.No | Константа и описание |
---|---|
1 |
ACTION_REQUEST_DISCOVERABLE Эта константа используется для включения Bluetooth |
2 |
ACTION_STATE_CHANGED Эта константа будет уведомлять, что состояние Bluetooth было изменено |
3 |
ACTION_FOUND Эта константа используется для получения информации о каждом обнаруженном устройстве |
ACTION_REQUEST_DISCOVERABLE
Эта константа используется для включения Bluetooth
ACTION_STATE_CHANGED
Эта константа будет уведомлять, что состояние Bluetooth было изменено
ACTION_FOUND
Эта константа используется для получения информации о каждом обнаруженном устройстве
После включения Bluetooth вы можете получить список сопряженных устройств, вызвав метод getBondedDevices (). Возвращает набор устройств Bluetooth. Его синтаксис есть.
private Set<BluetoothDevice>pairedDevices; pairedDevices = BA.getBondedDevices();
Помимо перехваченных устройств, в API есть и другие методы, которые дают больше контроля над Blueetooth. Они перечислены ниже.
Sr.No | Метод и описание |
---|---|
1 |
включить() Этот метод включает адаптер, если не включен |
2 |
включен() Этот метод возвращает true, если адаптер включен |
3 |
отключить () Этот метод отключает адаптер |
4 |
GetName () Этот метод возвращает имя адаптера Bluetooth |
5 |
setName (имя строки) Этот метод изменяет имя Bluetooth |
6 |
GetState () Этот метод возвращает текущее состояние адаптера Bluetooth. |
7 |
startDiscovery () Этот метод запускает процесс обнаружения Bluetooth на 120 секунд. |
включить()
Этот метод включает адаптер, если не включен
включен()
Этот метод возвращает true, если адаптер включен
отключить ()
Этот метод отключает адаптер
GetName ()
Этот метод возвращает имя адаптера Bluetooth
setName (имя строки)
Этот метод изменяет имя Bluetooth
GetState ()
Этот метод возвращает текущее состояние адаптера Bluetooth.
startDiscovery ()
Этот метод запускает процесс обнаружения Bluetooth на 120 секунд.
пример
В этом примере демонстрируется класс BluetoothAdapter для управления Bluetooth и отображения списка сопряженных устройств с помощью Bluetooth.
Чтобы поэкспериментировать с этим примером, вам нужно запустить его на реальном устройстве.
меры | Описание |
---|---|
1 | Вы будете использовать Android studio для создания приложения Android пакета com.example.sairamkrishna.myapplication. |
2 | Измените файл src / MainActivity.java, чтобы добавить код |
3 | Измените XML-файл макета. Res / layout / activity_main.xml добавьте любой компонент GUI, если это необходимо. |
4 | Измените AndroidManifest.xml, чтобы добавить необходимые разрешения. |
5 | Запустите приложение и выберите работающее устройство Android, установите на него приложение и проверьте результаты. |
Вот содержание src / MainActivity.java
package com.example.sairamkrishna.myapplication; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import android.widget.Toast; import java.util.ArrayList; import java.util.Set; public class MainActivity extends Activity { Button b1,b2,b3,b4; private BluetoothAdapter BA; private Set<BluetoothDevice>pairedDevices; ListView lv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1 = (Button) findViewById(R.id.button); b2=(Button)findViewById(R.id.button2); b3=(Button)findViewById(R.id.button3); b4=(Button)findViewById(R.id.button4); BA = BluetoothAdapter.getDefaultAdapter(); lv = (ListView)findViewById(R.id.listView); } public void on(View v){ if (!BA.isEnabled()) { Intent turnOn = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(turnOn, 0); Toast.makeText(getApplicationContext(), "Turned on",Toast.LENGTH_LONG).show(); } else { Toast.makeText(getApplicationContext(), "Already on", Toast.LENGTH_LONG).show(); } } public void off(View v){ BA.disable(); Toast.makeText(getApplicationContext(), "Turned off" ,Toast.LENGTH_LONG).show(); } public void visible(View v){ Intent getVisible = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); startActivityForResult(getVisible, 0); } public void list(View v){ pairedDevices = BA.getBondedDevices(); ArrayList list = new ArrayList(); for(BluetoothDevice bt : pairedDevices) list.add(bt.getName()); Toast.makeText(getApplicationContext(), "Showing Paired Devices",Toast.LENGTH_SHORT).show(); final ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, list); lv.setAdapter(adapter); } }
Вот содержание activity_main.xml
Здесь abc указывает на логотип учебного пункта.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity" android:transitionGroup="true"> <TextView android:text="Bluetooth Example" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview" android:textSize="35dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Tutorials point" android:id="@+id/textView" android:layout_below="@+id/textview" android:layout_centerHorizontal="true" android:textColor="#ff7aff24" android:textSize="35dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" android:layout_below="@+id/textView" android:layout_centerHorizontal="true" android:theme="@style/Base.TextAppearance.AppCompat" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Turn On" android:id="@+id/button" android:layout_below="@+id/imageView" android:layout_toStartOf="@+id/imageView" android:layout_toLeftOf="@+id/imageView" android:clickable="true" android:onClick="on" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Get visible" android:onClick="visible" android:id="@+id/button2" android:layout_alignBottom="@+id/button" android:layout_centerHorizontal="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="List devices" android:onClick="list" android:id="@+id/button3" android:layout_below="@+id/imageView" android:layout_toRightOf="@+id/imageView" android:layout_toEndOf="@+id/imageView" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="turn off" android:onClick="off" android:id="@+id/button4" android:layout_below="@+id/button" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <ListView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/listView" android:layout_alignParentBottom="true" android:layout_alignLeft="@+id/button" android:layout_alignStart="@+id/button" android:layout_below="@+id/textView2" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Paired devices:" android:id="@+id/textView2" android:textColor="#ff34ff06" android:textSize="25dp" android:layout_below="@+id/button4" android:layout_alignLeft="@+id/listView" android:layout_alignStart="@+id/listView" /> </RelativeLayout>
Вот содержимое Strings.xml
<resources> <string name="app_name">My Application</string> </resources>
Вот содержание AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sairamkrishna.myapplication" > <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Давайте попробуем запустить ваше приложение. Я предполагаю, что вы подключили свое фактическое мобильное устройство Android к компьютеру. Чтобы запустить приложение из студии Android, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». значок на панели инструментов. Если ваш Bluetooth не будет включен, он попросит вашего разрешения для включения Bluetooth.
Теперь просто нажмите кнопку Get Visible, чтобы включить видимость. Появится следующий экран с вашим разрешением включить обнаружение на 120 секунд.
Теперь просто выберите опцию Список устройств. Он отобразит список сопряженных устройств в виде списка. В моем случае у меня только одно сопряженное устройство. Это показано ниже.
Теперь просто нажмите кнопку выключения, чтобы отключить Bluetooth. При отключении Bluetooth появится следующее сообщение, указывающее на успешное отключение Bluetooth.