إعداد البلوتوث

قبل أن يتمكن التطبيق من الاتصال عبر البلوتوث أو Bluetooth Low Energy، عليك التأكّد من أنّ البلوتوث متوافق مع الجهاز، وإذا كان متوفرًا، تأكَّد من تفعيله. لاحظ أن هذا الفحص لا يكون ضروريًا إلا إذا تم السمة android:required في إدخال ملف البيان <uses-feature.../> هي تم الضبط على false

في حال عدم توفّر تقنية البلوتوث، يجب إيقاف أي تقنية متوافقة مع البلوتوث. الجديدة. إذا كانت تقنية البلوتوث متاحة ولكنها غير مفعَّلة، يمكنك طلب تفعيل المستخدم للبلوتوث بدون مغادرة التطبيق

تتمثل الخطوة الأولى في إضافة أذونات البلوتوث إلى ملف البيان من أجل استخدام واجهات برمجة التطبيقات التالية.

بعد الحصول على الأذونات، يتم إكمال إعداد البلوتوث في خطوتَين. باستخدام BluetoothAdapter:

  1. احصل على BluetoothAdapter.

    يجب توفُّر "BluetoothAdapter" لجميع أنشطة البلوتوث. تشير رسالة الأشكال البيانية BluetoothAdapter يمثل محوّل البلوتوث في الجهاز ( لاسلكي عبر البلوتوث). للحصول على BluetoothAdapter، يجب أولاً أن يكون لديك Context استخدم هذا السياق للحصول على مثال على BluetoothManager خدمة نظام التشغيل. جارٍ الاتصال بالرقم BluetoothManager#getAdapter ستحصل على كائن BluetoothAdapter. إذا عرضت getAdapter() قيمة خالية، فهذا يعني أن الجهاز لا يتوافق مع البلوتوث.

    مثلاً:

    Kotlin

    val bluetoothManager: BluetoothManager = getSystemService(BluetoothManager::class.java)
    val bluetoothAdapter: BluetoothAdapter? = bluetoothManager.getAdapter()
    if (bluetoothAdapter == null) {
      // Device doesn't support Bluetooth
    }
    

    Java

    BluetoothManager bluetoothManager = getSystemService(BluetoothManager.class);
    BluetoothAdapter bluetoothAdapter = bluetoothManager.getAdapter();
    if (bluetoothAdapter == null) {
      // Device doesn't support Bluetooth
    }
    
  2. تفعيل البلوتوث

    بعد ذلك، عليك التأكّد من تفعيل البلوتوث. اتصل isEnabled() إلى تحقّق مما إذا كانت تقنية البلوتوث مفعَّلة حاليًا. إذا قامت هذه الطريقة بإرجاع خطأ، فسيتم إيقاف البلوتوث. لطلب تفعيل البلوتوث، يُرجى الاتصال startActivityForResult()، ACTION_REQUEST_ENABLE الهدف من الإجراء. تصدر هذه المكالمة طلبًا لتفعيل البلوتوث من خلال إعدادات النظام (بدون إيقاف التطبيق).

    مثلاً:

    Kotlin

    if (bluetoothAdapter?.isEnabled == false) {
      val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)
      startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT)
    }
    

    Java

    if (!bluetoothAdapter.isEnabled()) {
      Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
      startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT);
    }
    

يظهر مربع حوار يطلب من المستخدم إذن المستخدم لتفعيل البلوتوث، كما هو موضّح في الشكل 1. إذا منح المستخدم إذنًا، يبدأ النظام في تفعيل البلوتوث، والتركيز مرة أخرى على التطبيق بعد اكتمال العملية (أو الإخفاق).


الشكل 1. مربع حوار تفعيل البلوتوث.

تم تمرير ثابت REQUEST_ENABLE_BT إلى startActivityForResult() هو عدد صحيح محدّد محليًا يجب أن يكون أكبر من 0 أو مساويًا له. النظام هذا الثابت يعود إليك في onActivityResult() التنفيذ كمعلمة requestCode.

إذا نجح تفعيل البلوتوث، سيتلقّى نشاطك رمز نتيجة RESULT_OK في معاودة الاتصال على "onActivityResult()" إذا لم يتم تفعيل البلوتوث بسبب خطأ (أو أجاب المستخدم بـ "الرفض") فسيتم حفظ رمز النتيجة RESULT_CANCELED

اختياريًا، يمكن لتطبيقك أيضًا الاستماع إلى ACTION_STATE_CHANGED هدف البث، والذي يبثه النظام عند توفر حالة بلوتوث التغييرات. يحتوي هذا البث على الحقول الإضافية EXTRA_STATE و EXTRA_PREVIOUS_STATE, يحتوي على حالتيّ البلوتوث الجديدتَين والقديمتَين على التوالي. القيم المحتملة لـ فإن هذه الحقول الإضافية STATE_TURNING_ON، STATE_ON, STATE_TURNING_OFF, وSTATE_OFF. يمكن أن يفيدك الاستماع إلى هذا البث إذا كان تطبيقك بحاجة إلى رصد وقت التشغيل التغييرات التي تم إجراؤها على حالة البلوتوث.

ملاحظة: يؤدي تفعيل قابلية الاكتشاف إلى تفعيل تلقائيًا. البلوتوث. إذا كنت تخطط باستمرار إلى تمكين قابلية اكتشاف الجهاز قبل أثناء إجراء نشاط عبر البلوتوث، يمكنك تخطي الخطوة 2 في الخطوات السابقة.

بعد تفعيل البلوتوث على الجهاز، يمكنك استخدام كل من البلوتوث الكلاسيكي البلوتوث منخفض الطاقة.

بالنسبة إلى الإصدار الكلاسيكي من البلوتوث، يمكنك العثور على الأجهزة التي تتضمّن بلوتوث. أو الاتصال بالأجهزة التي تتضمّن بلوتوث

بالنسبة إلى البلوتوث المنخفض الطاقة، يمكنك العثور على أجهزة BLE والاتصال بخادم GATT نقل بيانات BLE