Podczas przygotowywania aplikacji na Androida do działania na Chromebookach weź pod uwagę funkcje urządzenia, z których korzysta Twoja aplikacja. Chromebooki nie obsługują wszystkich funkcji sprzętowych i programowych dostępnych na innych urządzeniach z Androidem. Jeśli Twoja aplikacja wymaga określonych funkcji, które nie są obsługiwane na Chromebookach, nie będzie można jej zainstalować na tych urządzeniach.
Wymagania aplikacji dotyczące funkcji sprzętowych i niektórych funkcji oprogramowania deklarujesz w pliku manifestu. Ten dokument opisuje deklaracje funkcji w manifeście aplikacji, które nie są zgodne z Chromebookami.
Niezgodne wpisy w pliku manifestu
Wpisy w pliku manifestu wymienione w tej sekcji nie są zgodne z Chromebookami. Jeśli Twoja aplikacja korzysta z któregoś z tych wpisów, rozważ jego usunięcie lub dodanie do niego wartości atrybutu required="false", aby można było zainstalować aplikację na Chromebookach.
Więcej informacji o deklarowaniu użycia funkcji bez konieczności udostępniania jej na urządzeniu znajdziesz w przewodniku dotyczącym elementu manifestu <uses-feature>. Pełną listę funkcji pliku manifestu aplikacji i ich opisów znajdziesz w dokumentacji funkcji .
Uwaga: Android Studio ma wbudowane testy lint, które automatycznie weryfikują plik manifestu. W Android Studio wybierz File > Settings > Editor > Inspections > Android > Lint > Correctness > ChromeOS (Plik > Ustawienia > Edytor > Kontrole > Android > Lint > Poprawność > ChromeOS).
Funkcje sprzętu
Obsługa funkcji sprzętowych różni się w zależności od Chromebooka. Niektóre funkcje nie są obsługiwane na żadnych Chromebookach, a inne – tylko na niektórych.
Funkcje specjalne
Aby zapewnić lepszą obsługę sprzętu na Chromebookach, android.hardware.type.pc wyłącza emulację wejścia dla myszy i touchpada. W tym przypadku musisz podać wartość required="false", w przeciwnym razie aplikacja będzie mogła działać tylko na Chromebookach.
Nieobsługiwane funkcje sprzętowe
Poniżej znajdziesz listę funkcji sprzętowych, które nie są obsługiwane na Chromebookach:
-
android.hardware.camera: tylny aparat, -
android.hardware.camera.autofocus: kamera z autofokusem -
android.hardware.camera.capability.manual_post_processing: aparat korzystający z funkcjiMANUAL_POST_PROCESSING, w tym z funkcji zastępowania automatycznego balansu bieli; -
android.hardware.camera.capability.manual_sensor: aparat z funkcjąMANUAL_SENSOR, w tym obsługą blokady ekspozycji automatycznej; -
android.hardware.camera.capability.raw: aparat, który korzysta zRAW, w tym możliwość zapisywania plików DNG (RAW) i dostarczania metadanych związanych z DNG. -
android.hardware.camera.flash: aparat z lampą błyskową, -
android.hardware.camera.level.full: kamera, która korzysta z obsługi przechwytywania obrazu na poziomieFULL -
android.hardware.consumerir: podczerwień (IR) -
android.hardware.location.gps: Global Positioning System (GPS) -
android.hardware.nfc: Near Field Communication (NFC) -
android.hardware.nfc.hce: emulacja karty NFC, która jest wycofana. -
android.hardware.sensor.barometer: barometr (ciśnienie powietrza) -
android.hardware.telephony: telefonia, w tym radio z usługami transmisji danych; -
android.hardware.telephony.cdma: obsługa sieci telefonicznej CDMA (Code Division Multiple Access) -
android.hardware.telephony.gsm: obsługa sieci telefonii komórkowej GSM -
android.hardware.type.automotive: urządzenie z systemem operacyjnym Android Automotive -
android.hardware.type.television: telewizja (wycofana) -
android.hardware.usb.accessory: tryb akcesorium USB -
android.hardware.usb.host: tryb hosta USB
Częściowo obsługiwane funkcje sprzętowe
Poniższa lista zawiera funkcje sprzętowe, które mogą być dostępne na niektórych Chromebookach:
-
android.hardware.sensor.accelerometer: akcelerometr (orientacja urządzenia) -
android.hardware.sensor.compass: kompas -
android.hardware.sensor.gyroscope: żyroskop (obrót i skręt urządzenia) -
android.hardware.sensor.light: światło -
android.hardware.sensor.proximity: bliskość (użytkownika) -
android.hardware.sensor.stepcounter: licznik kroków -
android.hardware.sensor.stepdetector: wykrywacz kroków
Obsługa sprzętu ekranu dotykowego
Od wersji M53 ChromeOS wszystkie aplikacje na Androida, które nie wymagają wyraźnie funkcji
android.hardware.touchscreen, działają również na urządzeniach z ChromeOS, które obsługują funkcję
android.hardware.faketouch.
Urządzenia z interfejsem dotykowym, który nie jest prawdziwy, zapewniają system wprowadzania danych przez użytkownika, który emuluje podstawowe zdarzenia dotykowe. Użytkownik może na przykład używać myszy lub pilota, aby przesuwać kursor na ekranie, przewijać listę i przeciągać elementy z jednej części ekranu do drugiej.
Jeśli nie chcesz, aby Twoja aplikacja była instalowana na urządzeniach, które mają interfejsy z fałszywym dotykiem, ale nie mają ekranów dotykowych, możesz wykonać jedną z tych czynności:
- Wykluczanie konkretnych urządzeń w Konsoli Google Play.
- Filtruj urządzenia bez ekranu dotykowego, wyraźnie deklarując, że do zainstalowania aplikacji wymagany jest element
android.hardware.touchscreen.
Funkcje oprogramowania
Poniższa lista zawiera funkcje oprogramowania, które nie są obsługiwane na Chromebookach:
-
android.software.app_widgets: widżety aplikacji na ekranie głównym -
android.software.device_admin: zarządzanie zasadami dotyczącymi urządzeń -
android.software.home_screen: zastępuje ekran główny urządzenia. -
android.software.input_methods: niestandardowe metody wprowadzania (instancjeInputMethodService) -
android.software.leanback: interfejs zaprojektowany do wyświetlania na dużym ekranie -
android.software.live_wallpaper: animowane tapety -
android.software.live_tv: transmitowanie programów telewizyjnych na żywo; -
android.software.managed_users: użytkownicy dodatkowi i profile zarządzane -
android.software.sip: usługa Session Initiation Protocol (SIP), która obsługuje rozmowy wideo i wiadomości błyskawiczne. -
android.software.sip.voip: usługa VoIP (Voice over Internet Protocol) oparta na protokole SIP, która obsługuje dwukierunkowe konferencje wideo.
Uprawnienia, które implikują wymagania dotyczące funkcji
Niektóre uprawnienia, o które prosisz w plikach manifestu, mogą tworzyć domniemane prośby o funkcje sprzętowe i programowe. Żądając tych uprawnień, uniemożliwiasz zainstalowanie aplikacji na Chromebookach.
Szczegółowe informacje o tym, jak zapobiegać wyświetlaniu próśb o uprawnienia, które mogą uniemożliwiać korzystanie z aplikacji na Chromebookach, znajdziesz w sekcji Niezgodne wpisy w pliku manifestu na tej stronie.
W tabeli poniżej znajdziesz uprawnienia, które oznaczają wymagania dotyczące funkcji, przez co aplikacja jest niezgodna z Chromebookami:
Tabela 1. Uprawnienia urządzenia, które implikują funkcje sprzętowe niezgodne z Chromebookami.
| Kategoria | To uprawnienie | Oznacza wymaganie tej funkcji |
|---|---|---|
| Aparat | CAMERA |
android.hardware.camera orazandroid.hardware.camera.autofocus
|
| Połączenia telefoniczne | CALL_PHONE |
android.hardware.telephony |
CALL_PRIVILEGED |
android.hardware.telephony |
|
MODIFY_PHONE_STATE |
android.hardware.telephony |
|
PROCESS_OUTGOING_CALLS |
android.hardware.telephony |
|
READ_SMS |
android.hardware.telephony |
|
RECEIVE_SMS |
android.hardware.telephony |
|
RECEIVE_MMS |
android.hardware.telephony |
|
RECEIVE_WAP_PUSH |
android.hardware.telephony |
|
SEND_SMS |
android.hardware.telephony |
|
WRITE_APN_SETTINGS |
android.hardware.telephony |
|
WRITE_SMS |
android.hardware.telephony |