package uk.co.alt236.btlescan.util; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothManager; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; public final class BluetoothUtils { public final static int REQUEST_ENABLE_BT = 2001; private final Activity mActivity; private final BluetoothAdapter mBluetoothAdapter; public BluetoothUtils(final Activity activity) { mActivity = activity; final BluetoothManager btManager = (BluetoothManager) mActivity.getSystemService(Context.BLUETOOTH_SERVICE); mBluetoothAdapter = btManager.getAdapter(); } public void askUserToEnableBluetoothIfNeeded() { if (isBluetoothLeSupported() && (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled())) { final Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); mActivity.startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); } } public BluetoothAdapter getBluetoothAdapter() { return mBluetoothAdapter; } public boolean isBluetoothLeSupported() { return mActivity.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE); } public boolean isBluetoothOn() { if (mBluetoothAdapter == null) { return false; } else { return mBluetoothAdapter.isEnabled(); } } }