Is there a simple tutorial or dose anyone have code to toggle Bluetooth on and off using a Toggle-button in eclipse building for android?
If anyone can help that will be gre开发者_开发百科atly appreciated.
-Thanks in advance.
You'll need
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
in your manifest file, and variables like:
private final integer REQUEST_ENABLE_BT = 1;
and
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
boolean hasBluetooth = (mBluetoothAdapter == null);
so that in your OnCreate you can do something like:
final ToggleButton togglebutton = (ToggleButton) findViewById(R.id.togglebutton);
togglebutton.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
// Perform action on clicks
if (togglebutton.isChecked())
{
if (hasBluetooth && !mBluetoothAdapter.isEnabled())
{
// prompt the user to turn BlueTooth on
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
}
}
else
{
if (hasBluetooth && mBluetoothAdapter.isEnabled())
{
// you should really prompt the user for permission to turn
// the BlueTooth off as well, e.g., with a Dialog
boolean isDisabling = mBluetoothAdapter.disable();
if (!isDisabling)
{
// an immediate error occurred - perhaps the bluetooth is already off?
}
}
}
}
});
where the user response to the "turn bluetooth on" prompt is caught in
protected void onActivityResult (int requestCode, int resultCode, Intent data)
{
if ((requestCode == REQUEST_ENABLE_BT) && (resultCode == RESULT_OK))
{
boolean isEnabling = mBluetoothAdapter.enable();
if (!isEnabling)
{
// an immediate error occurred - perhaps the bluetooth is already on?
}
else if (mBluetoothAdapter.getState() == BluetoothAdapter.STATE_TURNING_ON)
{
// the system, in the background, is trying to turn the Bluetooth on
// while your activity carries on going without waiting for it to finish;
// of course, you could listen for it to finish yourself - eg, using a
// ProgressDialog that checked mBluetoothAdapter.getState() every x
// milliseconds and reported when it became STATE_ON (or STATE_OFF, if the
// system failed to start the Bluetooth.)
}
}
}
Take a look at http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
if(adapter != null) {
if(adapter.getState() == BluetoothAdapter.STATE_ON) {
adapter.disable();
} else if (adapter.getState() == BluetoothAdapter.STATE_OFF){
adapter.enable();
} else {
//State.INTERMEDIATE_STATE;
}
}
try this
public void disableBluetooth(Context context, Boolean bool) {
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if(bool)
wifiManager.setWifiEnabled(false);
else
wifiManager.setWifiEnabled(true);
}
BluetoothAdapter mBluetooth = BluetoothAdapter.getDefaultAdapter();
Integer bluetooth = 1; // Turn on
Object nada = (bluetooth == 1 ? mBluetooth.enable() : mBluetooth.disable());
Manifest:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
download this example this will help you
https://github.com/siddhpuraamitr/Blutooth-Toggle-Widget
IF YOU ARE HAVING TROUBLE IN ANDROID 33 READ ME
I spent way to many hours today figuring this out, since this is the top google search here is how to create a button that will ask to turn Bluetooth on/off in android 33. Answer is in Kotlin add a button to the fragment with the name android:id="@+id/requestBlueToothButton"
AndroidManifest.xml will need the following lines
<uses-permission
android:name="android.permission.BLUETOOTH"/>
<uses-permission
android:name="android.permission.BLUETOOTH_ADMIN"/>
requestBlueToothButton.setOnClickListener {
val bluetoothManager: BluetoothManager? = getSystemService(requireContext(), BluetoothManager::class.java)
val bluetoothAdapter: BluetoothAdapter? = bluetoothManager?.getAdapter()
if (bluetoothAdapter == null) {
// Device doesn't support Bluetooth
}
if (bluetoothAdapter?.isEnabled == false) {
val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)
startActivity(enableBtIntent)
}
}
Source
精彩评论