Open bluetooth settings android

Bluetooth configuration on the Android device

In this topic, we will describe the procedure of Bluetooth configuration on the Android device for users who have recently purchased such a device. We will tell you about how to set the name of the smartphone, activate the visibility for other devices, set the rights to connect to your device and discuss the energy conservation.

Activating the settings menu

To start setting up the Bluetooth in Android, you need to turn on the wireless communication module; otherwise the access to settings will be hidden. To perform this procedure, do the following:

  1. Go to the settings of the device.
  2. Tap «Bluetooth».
  3. To turn on Bluetooth, you need to move the slider at the top right. If these steps were completed successfully, you will see a list of all found devices and access to their settings.

Setting up the name

In this part of our article, we will show the procedure of changing the name of the smartphone. This name will be seen by the rest of devices that will send or receive information from you.

  1. After activating the module, you must open the «Options» menu to display the advanced settings of the Bluetooth on Android.
  2. Next, select «Edit phone name».
  3. Enter the name of your device in the box.
  4. To accept settings, press «Save».

Note: this name will also be displayed on your PC when your device will be connected to it via USB or Wi-Fi network, and in the Google Account.

Visibility control

The next step is to set the permission to discover your phone.

  1. In the main window of the wireless module settings it is necessary to check the box next to the name you came up with.

After that, you’ll see a countdown timer at the bottom. At the end of the timer, the checkmark will become inactive automatically, and, if desired, you will need to manually re-enable it to make your device visible again.

But you can set the duration of the timer, or turn it off completely, so that your device always remains visible to others, when you have a Bluetooth enabled. To do this, do the following:

  1. Click «Options».
  2. Click on «Time of visibility» or «Visibility timeout».
  3. Select the desired interval for you (2, 5 or 60 minutes), or select «Never time out».

Connected devices control

There are individual settings for each device that has ever been in conjunction with your device. To activate the settings on a particular device, it is necessary to do the following:

Depending on the device type, the setting options may be different; we will show the most frequently used.

Читайте также:  Dell precision m4800 bluetooth

«Edit device name» – the item allows you to change the name of the device, which is displayed only on your device. That is, no matter how it was originally named, you can write any name that you want to see on your screen when pairing with this device.

«Connection access» – this option changes the permission to connect to the selected device («with request» or «automatically» (without request)). It is very convenient to put the second option, when you often pair with a trusted device.

«Internet access» – this item should be activated when there is a need to use a third-party selected device as a Bluetooth wireless Internet modem.

«Call audio» – when you connect a wireless headset, this item changes the permission to broadcast calls through the speaker.

«Media audio» – this item is available when there is stereo headset or wireless stereo speakers connected. It allows broadcasting absolutely all the sounds from the device to a connected device (sound from the video player, games, music, system sounds, etc.).

Received files viewing

There is a window to view the files that were previously received by you. To get to it, do the following:

  1. In the main window of the wireless module interface, click «Options».
  2. Select «Show received files» to display a list.

In this window, you can view the received files, or if they are no longer available on the device, you can see their name, size and date of receiving. This list can be cleaned, if desired, by clicking «Options» and selecting «Clear all history».

Bluetooth setting on Android: Video

[rBlock name=after_video return=1]

Источник

How to enable/disable bluetooth programmatically in android

For this to work, you must have the following permissions:

it really works for me also. simple method to disconnect the bluetooth in android devices. thanks a lot buddy.

if you add BLUETOOTH_ADMIN permission it’s work but if not you need to use startActivityForResult(enableBtIntent, 0); to enable your bluetooth

Thanks for your useful answer +1 . just I want to add for who doesn’t know how to enable it: mBluetoothAdapter.enable()

Those manifest permissions do not work for me in 2022. The correct one is android.permission.BLUETOOTH_CONNECT . Otherwise it will give permission but will not disable.

Here is a bit more robust way of doing this, also handling the return values of enable()\disable() methods:

public static boolean setBluetooth(boolean enable) < BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); boolean isEnabled = bluetoothAdapter.isEnabled(); if (enable && !isEnabled) < return bluetoothAdapter.enable(); >else if(!enable && isEnabled) < return bluetoothAdapter.disable(); >// No need to change bluetooth state return true; > 

And add the following permissions into your manifest file:

But remember these important points:

This is an asynchronous call: it will return immediately, and clients should listen for ACTION_STATE_CHANGED to be notified of subsequent adapter state changes. If this call returns true, then the adapter state will immediately transition from STATE_OFF to STATE_TURNING_ON, and some time later transition to either STATE_OFF or STATE_ON. If this call returns false then there was an immediate problem that will prevent the adapter from being turned on — such as Airplane mode, or the adapter is already turned on.

Ok, so how to implement bluetooth listener?:

private final BroadcastReceiver mReceiver = new BroadcastReceiver() < @Override public void onReceive(Context context, Intent intent) < final String action = intent.getAction(); if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) < final int state = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR); switch (state) < case BluetoothAdapter.STATE_OFF: // Bluetooth has been turned off; break; case BluetoothAdapter.STATE_TURNING_OFF: // Bluetooth is turning off; break; case BluetoothAdapter.STATE_ON: // Bluetooth is on break; case BluetoothAdapter.STATE_TURNING_ON: // Bluetooth is turning on break; >> > >; 

And how to register/unregister the receiver? (In your Activity class)

@Override public void onCreate(Bundle savedInstanceState) < super.onCreate(savedInstanceState); // . // Register for broadcasts on BluetoothAdapter state change IntentFilter filter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED); registerReceiver(mReceiver, filter); >@Override public void onStop() < super.onStop(); // . // Unregister broadcast listeners unregisterReceiver(mReceiver); >

if you add BLUETOOTH_ADMIN permission it’s work but if not you need to use startActivityForResult(enableBtIntent, 0); to enable your bluetooth

Читайте также:  Bluetooth колонка forza plus

hey, the docs say that Bluetooth should never be enabled without direct user consent. If you want to turn on Bluetooth in order to create a wireless connection, you should use the ACTION_REQUEST_ENABLE Intent, which will raise a dialog that requests user permission to turn on Bluetooth. The enable() method is provided only for applications that include a user interface for changing system settings, such as a «power manager» app. What does it mean? For ex. I made a little app from your code and it worked. But if I want to upload to Play Store, it won’t work?

@Hilal it will work. But users need to give consent before installation. They will see a dialog like this: pewinternet.org/2015/11/10/…

Android BluetoothAdapter docs say it has been available since API Level 5. API Level 5 is Android 2.0.

You can try using a backport of the Bluetooth API (have not tried it personally): http://code.google.com/p/backport-android-bluetooth/

To Enable the Bluetooth you could use either of the following functions:

The difference is that the first function makes the app ask the user a permission to turn on the Bluetooth or to deny. The second function makes the app turn on the Bluetooth directly.

To Disable the Bluetooth use the following function:

NOTE/ The first function needs only the following permission to be defined in the AndroidManifest.xml file:

While, the second and third functions need the following permissions:

The solution of prijin worked perfectly for me. It is just fair to mention that two additional permissions are needed:

When these are added, enabling and disabling works flawless with the default bluetooth adapter.

I used the below code to disable BT when my app launches and works fine. Not sure if this the correct way to implement this as google recommends not using «bluetooth.disable();» without explicit user action to turn off Bluetooth.

 BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter(); bluetooth.disable(); 

I only used the below permission.

Читайте также:  Window vista bluetooth driver windows

One may have problems with this method if the app is dependent on Bluetooth being off because there is a race condition since bluetooth.disable() is asynchronous.

You must perform the standard permission request for BLUETOOTH_CONNECT as you would when requesting permission for storage or other «prompted» items.

val bluetoothAdapter = (getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager).adapter if (bluetoothAdapter.isEnabled) bluetoothAdapter.disable() 

For Android 12 and above, BLUETOOTH and BLUETOOTH_ADMIN permissions are not necessary to retrieve the current state or toggle it, unless targeting lower APIs.

This doesn’t seem to work, are you sure it’s supported on Android 12+? I tested on a Pixel 5 running Android 13

@behelit Android 13 removed the ability to enable and disable the adapter. No alternative, just stripped it from the developers.

BluetoothAdapter is deprecated from Android OS13. Is there any alternate to enable the bluetooth programatically on OS13?

@tklanilkumar Google specifically removed that option. It appears you are stuck with using the intents now. Google is creating the illusion of safety through poorly designed and excessive popups. The more it has to look like malware, the less likely you are to bother at all or something like that.

I have made a class to handle almost all this in Kotlin using Coroutines

 class ActivityResultHandler( private val registry: ActivityResultRegistry ) < private val handlers = mutableListOf>() fun unregisterHandlers() < handlers.forEach < it.unregister() >> suspend fun requestLocationPermission(): Boolean < return suspendCoroutine < continuation ->val launcher = registry.register( LOCATION_PERMISSION_REQUEST, // lifecycleOwner, ActivityResultContracts.RequestPermission() ) < continuation.resumeWith(Result.success(it)) >handlers.add(launcher) launcher.launch(Manifest.permission.ACCESS_FINE_LOCATION) > > suspend fun requestBluetoothActivation(): Boolean < return suspendCoroutine < continuation ->val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE) val launcher = registry.register( BLUETOOTH_ON_REQUEST, // lifecycleOwner, ActivityResultContracts.StartActivityForResult() ) < result ->continuation.resume( result.resultCode == Activity.RESULT_OK ) > handlers.add(launcher) launcher.launch(enableBtIntent) > > fun checkLocationPermission(context: Context): Boolean < return ContextCompat.checkSelfPermission( context, Manifest.permission.ACCESS_FINE_LOCATION ) == PackageManager.PERMISSION_GRANTED >private suspend fun requestLocationActivation( intentSenderRequest: IntentSenderRequest, ): Boolean < return suspendCoroutine < continuation ->val launcher = registry.register( LOCATION_ACTIVATION_REQUEST, // lifecycleOwner, ActivityResultContracts.StartIntentSenderForResult() ) < continuation.resume(it.resultCode == Activity.RESULT_OK) >handlers.add(launcher) launcher.launch(intentSenderRequest) > > suspend fun enableLocation(context: Context): Boolean = suspendCoroutine < continuation ->val locationSettingsRequest = LocationSettingsRequest.Builder() // .setNeedBle(true) .addLocationRequest( LocationRequest.create().apply < priority = LocationRequest.PRIORITY_HIGH_ACCURACY >) .build() val client: SettingsClient = LocationServices.getSettingsClient(context) val task: Task = client.checkLocationSettings(locationSettingsRequest) task.addOnSuccessListener < continuation.resume(true) >task.addOnFailureListener < exception ->if (exception is ResolvableApiException && exception.statusCode == LocationSettingsStatusCodes.RESOLUTION_REQUIRED ) < val intentSenderRequest = IntentSenderRequest.Builder(exception.resolution).build() CoroutineScope(continuation.context).launch < val result = requestLocationActivation(intentSenderRequest) continuation.resume(result) >> else < continuation.resume(false) >> > companion object < private const val LOCATION_PERMISSION_REQUEST = "LOCATION_REQUEST" private const val BLUETOOTH_ON_REQUEST = "LOCATION_REQUEST" private const val LOCATION_ACTIVATION_REQUEST = "LOCATION_REQUEST" >> 
// make sure you extend AppCompatActivity class MainActivity : AppCompatActivity() < private val permissionRequests = ActivityResultHandler(activityResultRegistry) override fun onCreate(savedInstanceState: Bundle?) < super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // use viewmodels and fragments instead of GlobalScope GlobalScope.launch < // turn on bluetooth permissionRequests.requestBluetoothActivation() // to be able to scan for devices you also need location permission // also show pop up to let users know why you need location // https://support.google.com/googleplay/android-developer/answer/9799150?hl=en permissionRequests.requestLocationPermission() // also you need navigation to be enabled permissionRequests.enableLocation(this@MainActivity) >> override fun onDestroy() < super.onDestroy() permissionRequests.unregisterHandlers() >> 

coroutines dependency in gradle

also add this permissions to manifest

Источник

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