מתחילים

לפני שמתחילים

לפני שמתחילים לכתוב קוד שמשתמשים בו ב-Nearby Connections API:

שליחת בקשה להרשאות

לפני שמשתמשים ב-Nearby Connections, האפליקציה צריכה לבקש את ההרשאות המתאימות. מוסיפים את ההרשאות הבאות ל-AndroidManifest.xml:

<!-- Required for Nearby Connections -->
<uses-permission android:maxSdkVersion="31" android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:maxSdkVersion="31" android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH" />
<uses-permission android:maxSdkVersion="30" android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:maxSdkVersion="28" android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:minSdkVersion="29" android:maxSdkVersion="31" android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_ADVERTISE" />
<uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:minSdkVersion="31" android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:minSdkVersion="32" android:name="android.permission.NEARBY_WIFI_DEVICES" />
<uses-permission android:minSdkVersion="37" android:name="android.permission.ACCESS_LOCAL_NETWORK" />
<!-- Optional: only required for FILE payloads -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

ההרשאות ACCESS_FINE_LOCATION,‏ BLUETOOTH_ADVERTISE,‏ BLUETOOTH_CONNECT,‏ BLUETOOTH_SCAN,‏ ACCESS_LOCAL_NETWORK (נדרשות החל מ-Android 17 לאפליקציות שמטרגטות SDK בגרסה 37 ומעלה באמצעות WIFI_LAN) ו-READ_EXTERNAL_STORAGE נחשבות להרשאות מערכת מסוכנות. לכן, בנוסף להוספתן למניפסט, צריך לבקש את ההרשאות האלה בזמן ריצה, כמו שמתואר במאמר בנושא בקשת הרשאות.

אם המשתמש לא מעניק את כל ההרשאות הנדרשות, Nearby Connections API לא יאפשר לאפליקציה להתחיל לפרסם או לגלות.