Practical No 24 2308
Practical No 24 2308
Activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:text="Get visible"
android:onClick="visible"
xmlns:android="http://schemas.android.com/apk/res/and android:id="@+id/button2"
roid" android:layout_alignBottom="@+id/button"
xmlns:tools="http://schemas.android.com/tools" android:layout_centerHorizontal="true" />
android:layout_width="match_parent"
android:layout_height="match_parent" <Button
android:layout_width="wrap_content"
tools:context=".MainActivity" android:layout_height="wrap_content"
android:transitionGroup="true"> android:text="List devices"
android:onClick="list"
<TextView android:text="Bluetooth Example" android:id="@+id/button3"
android:layout_width="wrap_content" android:layout_below="@+id/imageView"
android:layout_height="wrap_content" android:layout_toRightOf="@+id/imageView"
android:id="@+id/textview" android:layout_toEndOf="@+id/imageView" />
android:textSize="35dp"
android:layout_alignParentTop="true" <Button
android:layout_centerHorizontal="true" /> android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="turn off"
android:onClick="off"
<ImageView android:id="@+id/button4"
android:layout_width="wrap_content" android:layout_below="@+id/button"
android:layout_height="100dp" android:layout_alignParentLeft="true"
android:id="@+id/imageView" android:layout_alignParentStart="true" />
android:src="@drawable/bluetooth"
android:layout_below="@+id/textview" <ListView
android:layout_centerHorizontal="true" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/Base.TextAppearance.AppCom android:id="@+id/listView"
pat" /> android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/button"
<Button android:layout_alignStart="@+id/button"
android:layout_width="wrap_content" android:layout_below="@+id/textView2" />
android:layout_height="wrap_content"
android:text="Turn On" <TextView
android:id="@+id/button" android:layout_width="wrap_content"
android:layout_below="@+id/imageView" android:layout_height="wrap_content"
android:layout_toStartOf="@+id/imageView" android:text="Paired devices:"
android:layout_toLeftOf="@+id/imageView" android:id="@+id/textView2"
android:clickable="true" android:textColor="#ff34ff06"
android:onClick="on" /> android:textSize="25dp"
android:layout_below="@+id/button4"
<Button android:layout_alignLeft="@+id/listView"
android:layout_width="wrap_content" android:layout_alignStart="@+id/listView" />
android:layout_height="wrap_content"
</RelativeLayout>
MainActivity.java
android.Manifest.permission.BLUETOOTH_CONNEC
package com.example.practicals;
T,
import android.content.pm.PackageManager;
android.Manifest.permission.BLUETOOTH_ADVERTI
import android.os.Bundle;
SE
}, 1);
import androidx.annotation.NonNull;
}
import androidx.core.app.ActivityCompat;
}
import androidx.appcompat.app.AppCompatActivity;
// ✅ Turn On Bluetooth
import android.app.Activity;
public void on(View v) {
import android.bluetooth.BluetoothAdapter;
if (!BA.isEnabled()) {
import android.bluetooth.BluetoothDevice;
Intent turnOn = new
Intent(BluetoothAdapter.ACTION_REQUEST_ENABL
import android.content.Intent;
E);
import android.view.View;
startActivityForResult(turnOn, 0);
Toast.makeText(getApplicationContext(),
import android.widget.ArrayAdapter;
"Bluetooth Turned On",
import android.widget.Button;
Toast.LENGTH_LONG).show();
import android.widget.ListView;
} else {
Toast.makeText(getApplicationContext(),
import android.widget.Toast;
"Bluetooth is Already On",
Toast.LENGTH_LONG).show();
import java.util.ArrayList;
}
import java.util.Set;
}
public class MainActivity extends Activity {
// ✅ Turn Off Bluetooth
Button b1, b2, b3, b4;
public void off(View v) {
private BluetoothAdapter BA;
if (ActivityCompat.checkSelfPermission(this,
private Set<BluetoothDevice> pairedDevices;
android.Manifest.permission.BLUETOOTH_CONNEC
ListView lv;
T) != PackageManager.PERMISSION_GRANTED) {
return;
@Override
}
protected void onCreate(Bundle savedInstanceState) {
BA.disable();
super.onCreate(savedInstanceState);
Toast.makeText(getApplicationContext(),
setContentView(R.layout.activity_main);
"Bluetooth Turned Off",
Toast.LENGTH_LONG).show();
b1 = findViewById(R.id.button);
}
b2 = findViewById(R.id.button2);
b3 = findViewById(R.id.button3);
// ✅ Make Device Discoverable
b4 = findViewById(R.id.button4);
public void visible(View v) {
Intent getVisible = new
BA = BluetoothAdapter.getDefaultAdapter();
Intent(BluetoothAdapter.ACTION_REQUEST_DISCO
lv = findViewById(R.id.listView);
VERABLE);
startActivityForResult(getVisible, 0);
// ✅ Request permissions at runtime for API 31+
}
(Android 12+)
if (ActivityCompat.checkSelfPermission(this,
// ✅ List Paired Devices
android.Manifest.permission.BLUETOOTH_CONNEC
public void list(View v) {
T) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.checkSelfPermission(this,
ActivityCompat.requestPermissions(this, new
android.Manifest.permission.BLUETOOTH_CONNEC
String[]{
T) != PackageManager.PERMISSION_GRANTED) {
return;
}
pairedDevices = BA.getBondedDevices();
Toast.makeText(getApplicationContext(),
"Showing Paired Devices",
Toast.LENGTH_SHORT).show();
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_ru
les"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
tools:targetApi="31">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action
android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" /
>
</intent-filter>
</activity>
</application>
</manifest>