Android має вбудований буфер обміну, який спрощує копіювання та вставлення тексту або зображень у вибраних застосунках, однак його вміст не синхронізується автоматично між пристроями. Це означає, що передача скопійованого контенту між пристроями Android наразі потребує використання сторонніх інструментів. Утім, ситуація може змінитися з наступним оновленням Android 17, оскільки було виявлено ознаки того, що Google працює над функцією «Універсальний буфер обміну» та інтегрує її в систему.
Як працює буфер обміну в Android
Попри те що більшість користувачів взаємодіють з буфером обміну через клавіатурні застосунки на кшталт Gboard, сам буфер обміну за своєю суттю є системною службою. Будь-який застосунок може звертатися до нього через API ClipboardManager, проте з часом Google посилила вимоги безпеки. Починаючи з Android 10, було запроваджено обмеження, згідно з якими лише встановлена за замовчуванням клавіатура або застосунок, що перебуває у фокусі, може читати дані з буфера обміну. В Android 13 ці заходи були посилені: історія буфера обміну автоматично очищується через годину, а користувач отримує сповіщення щоразу, коли будь-який застосунок звертається до його вмісту. Ці зміни мають значення для безпеки, зважаючи на те, як часто люди копіюють конфіденційні дані, зокрема паролі або адреси.
Саме ці фонові обмеження пояснюють, чому для синхронізації буфера обміну між смартфоном Pixel та ПК під управлінням Windows потрібно встановити SwiftKey як клавіатуру за замовчуванням. Оскільки цим застосунком володіє Microsoft, вона може вбудовувати синхронізацію буфера обміну безпосередньо в клавіатуру. Деякі інші Android-смартфони також можуть синхронізувати буфер обміну з ПК на Windows без SwiftKey, але лише тому, що мають попередньо встановлену системну утиліту. Ця утиліта використовує системний дозвіл, недоступний стороннім застосункам, щоб обійти фонові обмеження та передавати дані буфера обміну до застосунку Microsoft Phone Link, який транслює їх на персональний комп’ютер.
За аналогічним принципом Google може реалізувати синхронізацію буфера обміну між телефонами на Android та пристроями під управлінням Chrome OS, імовірно, за допомогою Google Play Services. Причини, з яких цього досі не було зроблено, залишаються не до кінця зрозумілими. Однак з огляду на те, що фокус компанії поступово зміщується в бік так званих «Android PC», міжпристроєві функції знову стають пріоритетом. Раніше вже були помічені ознаки того, що Google працює над власною версією функції Apple Handoff. Водночас реалізація Apple охоплює не лише можливість продовжувати роботу з застосунком на іншому пристрої, а й функцію Universal Clipboard, що дає змогу копіювати текст або медіафайли на одному пристрої та миттєво вставляти їх на іншому. Для досягнення подібного рівня функціональності Google розробляє свій варіант Universal Clipboard для Android. Внутрішньо в компанії вже використовується саме ця назва, хоча остаточний маркетинговий термін може змінитися. Попри неможливість підтвердити кожну деталь, наявні дані дозволяють зробити низку обґрунтованих припущень щодо принципу її роботи.
В останніх бета-версіях та канаркових збірках Android було додано новий клас UniversalClipboardManager у шляху android.companion.datatransfer.continuity, де також розміщені інші функції Handoff, що перебувають у розробці. Цей клас визначає нову системну службу з такою ж назвою, хоча повна реалізація ще відсутня.
Очікується, що в майбутньому Google Play Services надасть можливість синхронізації буфера обміну в розділі налаштувань Handoff для пов’язаних Android-пристроїв. На смартфонах Pixel Google Play Services, імовірно, не отримуватиме прямого доступу до буфера обміну. Натомість цим займатиметься системний застосунок Pixel System Service, який має ідентифікатор com.google.android.pixelsystemservice. Він запитує спеціальний дозвіл READ_CLIPBOARD_IN_BACKGROUND і відстежує зміни вмісту буфера обміну. Коли буфер обміну оновлюється, служба перевіряє тип даних.
Поточний аналіз коду свідчить, що всі дані, окрім текстових, ігноруються, що є суттєвим обмеженням у порівнянні з реалізацією Apple. Якщо виявляється текст, служба надсилає широкомовне повідомлення до Google Play Services, яка з високою ймовірністю передає ці дані на підключені пристрої через фреймворк Handoff. За інформацією від одного з дослідників, цей приймач уперше з’явився в Google Play Services ще в листопаді минулого року, що свідчить про тривалу роботу над даною функцією. Також важливо, що він позначений як частина модуля «Continuity», який відповідає за інші функції безперервності й фактично об’єднує всю систему в єдине ціле.
У підсумку можна подати узагальнену схему ймовірного принципу роботи «Універсального буфера обміну» в Android:
- Користувач копіює текст на смартфоні Pixel.
- Системний застосунок Pixel System Service фіксує зміну в буфері обміну.
- Pixel System Service надсилає широкомовне повідомлення до Google Play Services про цю зміну.
- Google Play Services отримує це повідомлення.
- Модуль Continuity у складі Google Play Services приймає скопійований текст і надсилає його на пов’язаний персональний комп’ютер.
Зворотний процес також має працювати за умови, що Google реалізує фоновий моніторинг буфера обміну на Android-комп’ютерах. Крім того, функцію теоретично можна буде поширити на інші пристрої, наприклад планшети, однак очікується, що основний фокус наразі зосереджено саме на форм-факторі персонального комп’ютера. Остаточне підтвердження стане можливим лише після офіційного представлення ініціативи «Android на ПК», яке, імовірно, відбудеться пізніше. З огляду на час появи цих технічних ознак та їхню значущість, очікується, що зазначені функції можуть з’явитися разом з випуском Android 17 уже наступного року.
Безшовна взаємодія між пристроями є одним із ключових чинників, що утримує користувачів у межах екосистеми Apple. Розширення присутності Android на ринку персональних комп’ютерів та поява повноцінної міжпристроєвої інтеграції можуть стати важливим етапом розвитку екосистеми Android. Якщо Google прагне зберегти та розширити свою аудиторію, їй необхідно пропонувати подібні можливості. Водночас принципова відмінність полягає в тому, що екосистема Android традиційно забезпечує значно більшу свободу вибору апаратного забезпечення.



