<گیرنده>

نحو:
<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>
موجود در:
<application>
می تواند شامل:
<intent-filter>
<meta-data>
توضیحات:
یک گیرنده پخش، یک زیرکلاس BroadcastReceiver ، را به عنوان یکی از اجزای برنامه اعلام می کند. گیرنده‌های پخش، برنامه‌ها را قادر می‌سازند تا مقاصدی را دریافت کنند که توسط سیستم یا سایر برنامه‌ها پخش می‌شوند، حتی زمانی که سایر اجزای برنامه در حال اجرا نیستند.

دو راه برای شناخته شدن یک گیرنده پخش به سیستم وجود دارد. یکی این است که آن را در فایل مانیفست با این عنصر اعلام کنید. دیگری ایجاد گیرنده به صورت پویا در کد و ثبت آن با متد Context.registerReceiver() یا یکی از نسخه های بارگذاری شده آن است.

برای اطلاعات بیشتر در مورد نحوه ایجاد گیرنده به صورت پویا، به توضیحات کلاس BroadcastReceiver مراجعه کنید.

اگر این گیرنده پخش‌های غیر سیستمی را مدیریت می‌کند، مقداری را برای android:exported مشخص کنید. اگر می‌خواهید گیرنده‌تان بتواند پخش‌های دریافت‌کننده از برنامه‌های دیگر را داشته باشد، این مقدار را روی "true" یا اگر می‌خواهید گیرنده شما فقط قادر به دریافت پخش از برنامه خودتان باشد "false" را تنظیم کنید.

اگر قبلاً مشخصه android:permission را اعلام کرده اید، لازم نیست آن را حذف کنید.

هشدار: تعداد گیرنده های پخشی را که در برنامه خود تنظیم می کنید محدود کنید. داشتن گیرنده های پخش بیش از حد می تواند بر عملکرد برنامه شما و عمر باتری دستگاه های کاربران تأثیر بگذارد. برای اطلاعات بیشتر در مورد APIها می‌توانید به جای کلاس BroadcastReceiver برای زمان‌بندی کار پس‌زمینه استفاده کنید، به بهینه‌سازی پس‌زمینه مراجعه کنید.

صفات:
android:directBootAware

آیا گیرنده پخش از Direct-Boot آگاه است یا خیر، یعنی می تواند قبل از باز کردن قفل دستگاه توسط کاربر اجرا شود یا خیر.

توجه: در طول راه‌اندازی مستقیم ، یک گیرنده پخش در برنامه شما فقط می‌تواند به داده‌هایی که در فضای ذخیره‌سازی محافظت شده دستگاه ذخیره شده‌اند دسترسی داشته باشد.

مقدار پیش فرض "false" است.

android:enabled
آیا گیرنده پخش می تواند توسط سیستم نمونه برداری شود یا خیر. اگر می تواند "true" است و اگر نه "false" . مقدار پیش فرض "true" است.

عنصر <application> ویژگی enabled خود را دارد که برای همه اجزای برنامه از جمله گیرنده های پخش اعمال می شود. ویژگی های <application> و <receiver> هر دو باید "true" باشند تا گیرنده پخش فعال شود. اگر هر کدام "false" باشد، غیرفعال است و نمی‌توان آن را نمونه‌سازی کرد.

android:exported
آیا گیرنده پخش می تواند پیام ها را از منابع غیر سیستمی خارج از برنامه خود دریافت کند یا خیر. اگر بتواند "true" است و اگر نه "false" . اگر "false" باشد، تنها پیام‌هایی که گیرنده پخش دریافت می‌کند پیام‌هایی است که توسط سیستم، اجزای همان برنامه یا برنامه‌هایی با شناسه کاربری یکسان ارسال می‌شود.

اگر مشخص نباشد، مقدار پیش‌فرض به این بستگی دارد که گیرنده پخش دارای فیلترهای هدف باشد یا خیر. اگر گیرنده دارای حداقل یک فیلتر هدف باشد، مقدار پیش‌فرض "true" است. در غیر این صورت، مقدار پیش فرض "false" است.

این ویژگی تنها راه برای محدود کردن نوردهی خارجی گیرنده پخش نیست. همچنین می‌توانید از یک مجوز برای محدود کردن نهادهای خارجی که می‌توانند به آن پیام ارسال کنند، استفاده کنید. ویژگی permission را ببینید.

android:icon
نمادی که گیرنده پخش را نشان می دهد. این ویژگی به عنوان یک مرجع به یک منبع قابل ترسیم حاوی تعریف تصویر تنظیم می شود. اگر تنظیم نشده باشد، به جای آن از نماد مشخص شده برای برنامه به طور کلی استفاده می شود. ویژگی icon عنصر <application> را ببینید.

نماد گیرنده پخش، چه در اینجا تنظیم شده باشد و چه توسط عنصر <application> ، همچنین نماد پیش فرض تمام فیلترهای هدف گیرنده است. ویژگی icon عنصر <intent-filter> را ببینید.

android:label
یک برچسب قابل خواندن توسط کاربر برای گیرنده پخش. اگر این ویژگی تنظیم نشده باشد، به جای آن از برچسب مجموعه برای برنامه به طور کلی استفاده می شود. ویژگی label عنصر <application> را ببینید.

برچسب گیرنده پخش، چه در اینجا تنظیم شده باشد و چه توسط عنصر <application> ، همچنین برچسب پیش فرض برای تمام فیلترهای هدف گیرنده است. ویژگی label عنصر <intent-filter> را ببینید.

برچسب به عنوان یک مرجع به یک منبع رشته تنظیم می شود، به طوری که می توان آن را مانند سایر رشته ها در رابط کاربری محلی کرد. با این حال، به عنوان یک راحتی در هنگام توسعه برنامه، می توان آن را به عنوان یک رشته خام نیز تنظیم کرد.

android:name
نام کلاسی که گیرنده پخش را پیاده‌سازی می‌کند، زیرکلاس BroadcastReceiver . این یک نام کلاس کاملاً واجد شرایط است، مانند "com.example.project.ReportReceiver" . با این حال، به عنوان خلاصه، اگر اولین کاراکتر نام یک نقطه باشد، به عنوان مثال، ".ReportReceiver" ، به نام بسته مشخص شده در عنصر <manifest> اضافه می شود.

هنگامی که برنامه خود را منتشر کردید، این نام را تغییر ندهید ، مگر اینکه android:exported ="false" را تنظیم کنید.

هیچ پیش فرضی وجود ندارد. نام باید مشخص شود.

android:permission
نام مجوزی که پخش کننده ها برای ارسال پیام به گیرنده پخش نیاز دارند. اگر این ویژگی تنظیم نشده باشد، مجوز تنظیم شده توسط ویژگی permission عنصر <application> برای گیرنده پخش اعمال می شود. اگر هیچ یک از ویژگی ها تنظیم نشده باشد، گیرنده توسط یک مجوز محافظت نمی شود.

برای اطلاعات بیشتر درباره مجوزها، به بخش مجوزها در نمای کلی مانیفست برنامه و نکات امنیتی مراجعه کنید.

android:process
نام فرآیندی که گیرنده پخش در آن اجرا می شود. به طور معمول، تمام اجزای یک برنامه در فرآیند پیش فرض ایجاد شده برای برنامه اجرا می شوند. این همان نام بسته برنامه است.

ویژگی process عنصر <application> می‌تواند پیش‌فرض متفاوتی را برای همه مؤلفه‌ها تنظیم کند. اما هر مؤلفه می‌تواند پیش‌فرض را با ویژگی process خود لغو کند و به شما امکان می‌دهد برنامه خود را در چندین فرآیند پخش کنید.

اگر نام تخصیص داده شده به این ویژگی با یک دونقطه ( : ) شروع شود، یک فرآیند جدید، خصوصی برای برنامه، در صورت نیاز ایجاد می شود و گیرنده پخش در آن فرآیند اجرا می شود.

اگر نام فرآیند با یک کاراکتر کوچک شروع شود، گیرنده در یک فرآیند سراسری با آن نام اجرا می‌شود، مشروط بر اینکه مجوز این کار را داشته باشد. این به اجزای برنامه های مختلف اجازه می دهد تا فرآیندی را به اشتراک بگذارند و مصرف منابع را کاهش دهد.

معرفی شده در:
API سطح 1