<Odbiorca>

składnia:
<receiver android:directBootAware=["true" | "false"]
          android:enabled=["true" | "false"]
          android:exported=["true" | "false"]
          android:icon="drawable resource"
          android:label="string resource"
          android:name="string"
          android:permission="string"
          android:process="string" >
    ...
</receiver>
zawarte w:
<application>
mogą zawierać:
<intent-filter>
<meta-data>
description:
Deklaruje odbiornik (BroadcastReceiver) podklasa jako jeden z komponentów aplikacji. Odbiorniki transmisji są włączone aplikacji odbierających intencje, które są transmitowane przez system lub przez inne nawet jeśli inne komponenty aplikacji nie są uruchomione.

Są 2 sposoby poinformowanie systemu o odbiorniku. Po pierwsze: zadeklarować ją w pliku manifestu za pomocą tego elementu. Drugi to utworzenie do odbiornika w kodzie i rejestrować go za pomocą funkcji Context.registerReceiver() lub jedną z jej przeciążonych wersji.

Więcej informacji o dynamicznym tworzeniu odbiorników znajdziesz w BroadcastReceiver zajęcia opis.

Jeśli ten odbiornik obsługuje komunikaty spoza systemu, podaj wartość android:exported. Ustaw tę wartość na "true", jeśli chcesz, aby odbiornik mógł: odbiera komunikaty z innych aplikacji lub "false", jeśli tylko chcesz, aby odbiornik mógł odbierać komunikaty z Twojej własnej aplikacji.

Nie musisz usuwać atrybutu android:permission, jeśli: została już przez Ciebie zadeklarowana.

Ostrzeżenie: ogranicz liczbę transmisji odbiornikach ustawionych w aplikacji. Zbyt wiele odbiorników wpływają na wydajność aplikacji i żywotność baterii urządzenia. Aby uzyskać więcej informacji o interfejsach API, których możesz używać zamiast BroadcastReceiver zajęcia do planowania pracy w tle, zobacz Optymalizacja tła.

atrybuty:
android:directBootAware

Określa, czy odbiornik jest rozpoznany podczas rozruchu bezpośredniego, Dotyczy to tego, czy może ona zostać uruchomiona, zanim użytkownik odblokuje urządzenie.

Uwaga: w trakcie Bezpośredni rozruch, komunikat odbiornik w aplikacji ma dostęp wyłącznie do danych przechowywanych w pamięć chroniona na urządzeniu.

Wartość domyślna to "false".

android:enabled
Określ, czy system może utworzyć wystąpienie odbiornika. Jest "true", jeśli może być, lub "false", jeśli może być. Wartość domyślna jest "true".

Element <application> ma swój własny element Atrybut enabled, który ma zastosowanie do wszystkich i komponenty aplikacji, w tym odbiorniki. <application> i Oba atrybuty <receiver> muszą mieć wartość "true" w przypadku wybierz odbiornik. Jeśli jeden z tych argumentów to "false", jest on wyłączona i nie można jej utworzyć.

android:exported
Określenie, czy odbiornik może odbierać wiadomości ze źródeł innych niż systemowe poza jej zastosowaniem. W miarę możliwości jest to "true", oraz "false" jeśli nie. Jeśli "false", jedyne wiadomości odbiornika to te wysyłane przez system, składniki tej samej aplikacji o tym samym identyfikatorze użytkownika.

Jeśli wartość domyślna nie została określona, zależy od tego, czy odbiornik zawiera intencję filtry. Jeśli odbiorca zawiera co najmniej 1 filtr intencji, wartość domyślna to "true" W przeciwnym razie domyślna wartość to "false".

Ten atrybut nie jest jedynym sposobem ograniczenia zewnętrznej ekspozycji odbiornika. Możesz też użyć uprawnień, aby ograniczyć zewnętrzne podmioty, które mogą wysyłać do niego wiadomości. Zobacz atrybut permission.

android:icon
Ikona odbiornika. Ten atrybut jest ustawiony jako odwołanie do zasobu rysowalnego zawierającego definicję obrazu. Jeśli nie jest ustawiona, używana jest ikona określona dla całej aplikacji . Zobacz <application> icon tego elementu.

Ikona odbiornika, ustawiona tutaj lub przez <application>, jest również domyślna ikona wszystkich filtrów intencji odbiorcy. Zobacz Element <intent-filter> icon.

android:label
Czytelna dla użytkownika etykieta odbiornika. Jeśli ten atrybut nie jest etykietą ustawioną dla całej aplikacji jest . Zobacz właściwości elementu <application> label.

Etykieta odbiornika, określona tutaj lub przez <application>, jest również etykieta domyślna wszystkich filtrów intencji odbiorcy. Zobacz Element <intent-filter> label.

Etykieta jest ustawiona jako odniesienie do zasobu ciągu, więc i można go zlokalizować tak samo jak inne ciągi w interfejsie. Aby jednak zapewnić wygodę na etapie tworzenia aplikacji, można go też ustawić w postaci nieprzetworzonego ciągu znaków.

android:name
Nazwa klasy, która implementuje odbiornik (podklasa) BroadcastReceiver To jest w pełni kwalifikowany nazwę klasy, na przykład "com.example.project.ReportReceiver". Pamiętaj jednak: jako skrótu, jeśli pierwszym znakiem nazwy jest kropka, np. ".ReportReceiver", jest dołączony do nazwy pakietu określonej w polu element <manifest>.

Po opublikowaniu aplikacji nie zmień tę nazwę, chyba że ustawisz android:exported="false".

Nie ma wartości domyślnej. Musisz podać nazwę.

android:permission
Nazwa uprawnienia, którego nadawcy potrzebują, aby wysłać do odbiornika. Jeśli ten atrybut nie jest skonfigurowany, uprawnienia określone przez Element <application> Stosowany jest atrybut permission do odbiornika. Jeśli żaden z tych atrybutów nie jest ustawiony, odbiorca nie jest chronione uprawnieniami.

Więcej informacji o uprawnieniach: Uprawnienia w omówieniu pliku manifestu aplikacji oraz Wskazówki dotyczące bezpieczeństwa

android:process
Nazwa procesu, w którym działa odbiornik. Normalnie wszystkie komponenty aplikacji są uruchamiane w procesie domyślnym dla danej aplikacji. Ma taką samą nazwę jak pakiet aplikacji.

Element <application> Atrybut process może ustawiać inne wartości domyślny dla wszystkich komponentów. Każdy komponent może jednak zastąpić komponent domyślny z własnym atrybutem process, który umożliwia rozpowszechnianie do zastosowania w wielu procesach.

Jeśli nazwa przypisana do tego atrybutu zaczyna się od dwukropka (:), nowy atrybut prywatny do aplikacji i tworzony, gdy jest potrzebny, działa w nim odbiornik.

Jeśli nazwa procesu zaczyna się od małej litery, odbiorca działa w globalnym procesie dotyczącym tej nazwy, o ile ma do tego uprawnienia. Umożliwia to komponentom w różnych aplikacjach współużytkowanie procesu, co zmniejsza wykorzystanie zasobów.

wprowadzone w:
Poziom API 1