藍牙開發之開啓藍牙

1、前言

咱們本部分文章主要探討低功耗藍牙的開發,關於經典藍牙的開發不是本系列文章的探討範圍。android

咱們都知道對於Android設備而言,是在Android 4.3(API 18)以後開始支持低功耗藍牙。不清楚Android設備中藍牙的發展過程的,能夠閱讀Android設備中的藍牙這篇文章。也就是說本系列文章主要就是基於Android 4.3以後的開發經驗。bash

2、藍牙的開啓

咱們上面已經提到因爲低版本的Android設備會存在不支持低功耗藍牙的狀況,因此咱們須要首先檢測是否存在低功耗藍牙模塊:ui

​/**

     * Check wheather support Bluetooth LE.

     * <p>是否支持低功耗藍牙</p>

     *

     * @param context

     * @return

     */

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)

    public static boolean checkBluetoothLEAvaiblelability(@NonNull Context context) {

        if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE)) {

            return BluetoothAdapter.getDefaultAdapter() != null;

        } else {

            return false;

        }

    }複製代碼
若是低功耗藍牙模塊存在的話,須要咱們檢測藍牙是否打開:

/**

     * Return true if Bluetooth is currently enabled and ready for use.

     * <p>藍牙是否打開</p>

     *

     * @return true if the local adapter is turned on

     */

    @RequiresPermission(Manifest.permission.BLUETOOTH)

    public static boolean isEnableBluetooth() {

        final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();

        if (adapter != null) {

            return adapter.isEnabled();

        } else {

            return false;

        }

    }複製代碼
若藍牙沒有打開,須要咱們手動打開或者強制開啓藍牙:

方法一:使用Intent打開藍牙spa

/**

     * Turn on the local Bluetooth adapter&mdash;do not use without explicit

     * ser action to turn on Bluetooth.

     * <p>

     * onActivityResult() method will be called when action finished

     * </p>

     *

     * @param activity    activity

     * @param requestCode requestCode

     */

    @RequiresPermission(Manifest.permission.BLUETOOTH)

    public static void enableBLuetooth(Activity activity, int requestCode) {

        final Intent intent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

        activity.startActivityForResult(intent, requestCode);

    }複製代碼

優勢:有回調。
.net

缺點:使用不太方便。code

注意:打開藍牙須要「Manifest.permission.BLUETOOTH」權限。blog

方法二:使用BluetoothAdapterci

BluetoothAdapter.getDefaultAdapter().enable();複製代碼
​注意:打開藍牙須要「Manifest.permission.BLUETOOTH_ADMIN」權限。

3、總結:

開啓低功耗藍牙須要檢查是否支持支持低功耗藍牙,同時須要在註冊清單添加以下代碼 :開發

<uses-feature

        android:name="android.hardware.bluetooth_le"

        android:required="true" />


    <!--藍牙相關-->

    <uses-permission android:name="android.permission.BLUETOOTH" />

    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />複製代碼
相關文章
相關標籤/搜索