چگونه دانلود خودکار برنامه ها را در اندروید متوقف کنیم. نحوه غیرفعال کردن برنامه های شروع خودکار در Android: روش ها و توصیه ها. یک راه آسان برای حذف برنامه ها از بارگذاری خودکار

نشان می دهد که موضوع دریافت پیام ACTION_BOOT_COMPLETED تا امروز مرتبط است. همانطور که می بینید، بسیاری از مبتدیان با این مشکل مواجه هستند که پیام ACTION_BOOT_COMPLETED را در برنامه های خود دریافت نمی کنند. در این مقاله سعی خواهم کرد داده های اسناد رسمی، تجربه بسیاری از توسعه دهندگان از stackoverflow.com و همچنین تجربه خودم را خلاصه کنم. بنابراین، چگونه می توان این "دشمن موذی" به نام "ACTION_BOOT_COMPLETED" را شکست داد؟

1. نظریه

با نگاهی به نمونه هایی از یک منبع رسمی (مانند این یکی و این یکی) و مطالعه توصیه ها در stackoverflow.com، قوانین زیر را می توان تشخیص داد:
  1. در مانیفست، در عنصر "manifest"، مجوز را مشخص کنید:

  2. در مانیفست، در عنصر "application"، گیرنده خود را برای دریافت پیام ACTION_BOOT_COMPLETED ثبت کنید:


    یا


    از نام کلاس کاملاً واجد شرایط یا نسبی صحیح برای گیرنده پخش خود استفاده کنید. در توضیحات گیرنده، ویژگی های "فعال"، "صادرات" و غیره را بدون ضرورت مشخص نکنید. تنظیمات و ویژگی های پیش فرض کافی است.

  3. کد گیرنده پخش شما:

    کلاس عمومی BootCompletedReceiver BroadcastReceiver را گسترش می دهد ( عمومی BootCompletedReceiver() ( ) void عمومی onReceive (Context context, Intent intent) ( if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) (// کد شما در اینجا))
    اگر گیرنده شما فقط برای پیام ACTION_BOOT_COMPLETED استفاده می شود، بررسی "اگر" اختیاری است. با این حال، گاهی اوقات توسعه دهندگان از یک گیرنده برای پیام های مختلف استفاده می کنند. در این حالت، پیام ها را با تیک زدن در داخل متد onReceive فیلتر کنید.

  4. برنامه باید روی حافظه داخلی نصب شود. سیستم عامل اندروید به گونه ای طراحی شده است که پیام ACTION_BOOT_COMPLETED قبل از نصب حافظه خارجی به برنامه ها ارسال می شود. بنابراین برنامه های نصب شده روی حافظه خارجی هرگز این پیام را دریافت نمی کنند. برای اینکه به سیستم بگویید برنامه‌ای را روی حافظه خارجی نصب نکند، نیازی نیست که ویژگی "@android:installLocation" را روی "auto" یا "preferExternal" در مانیفست تنظیم کنید. به طور پیش فرض، یعنی اگر این ویژگی مشخص نشده باشد، سیستم عامل فقط برنامه شما را روی آن نصب خواهد کرد حافظه داخلی. با این حال، با توجه به مستندات رسمی، بهتر است به صراحت مقدار "internalOnly" را مشخص کنید تا شما و سایر توسعه دهندگان وسوسه نشوید که مقدار دیگری را در آینده تعیین کنید.

  5. پس از نصب یا توقف اجباری (توقف اجباری)، برنامه باید حداقل یک بار راه اندازی شود تا سیستم این برنامه را به خاطر بسپارد تا پیام ACTION_BOOT_COMPLETED را برای آن ارسال کند. این رفتار برای اهداف امنیتی در اندروید 3.1 پیاده سازی شده است. نکته چیست؟ همه همین الان برنامه های نصب شدهدر حالت "توقف" هستند (نباید با فعالیت اشتباه گرفته شود، زیرا سیستم عامل این حالت را برای برنامه ها و فعالیت ها به روش های مختلف مدیریت می کند). هنگامی که کاربر به زور آن را در تنظیمات گوشی متوقف می کند، برنامه به همان حالت "ترک" می شود. در حالی که برنامه در این حالت است، به هیچ دلیلی (مثلاً از طریق ACTION_BOOT_COMPLETED) توسط سیستم راه اندازی نمی شود، مگر اینکه البته توسط خود کاربر راه اندازی شده باشد. به لطف این نوآوری، بخش بزرگی از "ویروس ها و تروجان ها" از کار افتادند، زیرا. بعد از نصب دیگر امکان راه اندازی خودکار وجود ندارد.

    استثنا برنامه های سیستمی است: به یادداشت کاربر kolipass مراجعه کنید.

  6. ویژگی های حالت بوت سریع در دستگاه های HTC. مشخص است که دستگاه های HTC به معنای کلاسیک راه اندازی مجدد نمی شوند، بلکه از به اصطلاح استفاده می کنند. حالت بوت سریع (این نوعی خواب زمستانی است)، وضعیت سیستم عامل را روی دیسک ذخیره می کند. بنابراین، پیام ACTION_BOOT_COMPLETED توسط سیستم ارسال نمی شود زیرا هیچ بارگیری مجدد در واقع رخ نمی دهد (). به جای ACTION_BOOT_COMPLETED، سیستم ممکن است پیام های زیر را ارسال کند:


    در برنامه خود، پیام های بالا را علاوه بر ACTION_BOOT_COMPLETED در برچسب "گیرنده" قرار دهید. علاوه بر این، ثبت مجوز علاوه بر بند 1 ضروری است:

2. تمرین: خطاها و ویژگی های عملیات

بیایید اشتباهاتی را که مبتدیان هنگام تنظیم برنامه و در کد انجام می دهند، تجزیه و تحلیل کنیم.

3. اشکال زدایی گیرنده در شبیه ساز و در دستگاه های واقعی.


نتایج

برای اینکه برنامه شما در همه دستگاه‌ها روی بوت اجرا شود، مانیفست حداقل باید به شکل زیر باشد:


کد گیرنده معمولاً به شکل زیر خواهد بود:

کلاس عمومی BootCompletedReceiver، BroadcastReceiver را گسترش می دهد ( عمومی BootCompletedReceiver () ( ) void عمومی onReceive (زمینه زمینه، هدف Intent) ( if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED.) (Toastma toastTextTextpplicationtx. ), context.getResources().getString(R.string.your_message)، Toast.LENGTH_LONG؛ toast.show(); Log.d("myapp"، context.getResources().getString(R.string.your_message) ; // کد شما اینجاست )))
امیدوارم این مقاله به مبتدیان کمک کند تا بر "دشمن موذی" به نام "ACTION_BOOT_COMPLETED" غلبه کنند.

مطمئناً بسیاری با وضعیتی آشنا هستند که یک تلفن هوشمند کاملاً جدید که به تازگی در سالن خریداری شده است، ضربان قلب مالک را نه تنها از نظر ظاهری، بلکه از سرعت فوق العاده و پاسخگویی شگفت انگیز نیز تندتر می کند. اما به محض نصب تمام برنامه های لازم روی دستگاه، Andryukha شروع به کار می کند و به سختی می توان آن را هوشمند و پاسخگو نامید.

و دلیل این دگردیسی در این واقعیت نهفته است که در بسیاری از برنامه ها و سرویس ها عملکرد بارگذاری خودکار اضافه شده است و با شروع همزمان با راه اندازی سیستم عامل، آنها به کار خود در پس زمینه ادامه می دهند و به معنای واقعی کلمه منابع سیستم و باتری را می خورند. . راه اندازی اندروید و نحوه خلاص شدن از شر آن - این چیزی است که مطالب امروز ما در مورد آن است.

متأسفانه، همه مدل‌های دستگاه دارای ابزارهای داخلی نیستند که بتوانند این فرآیند را مدیریت کنند. اما این بدان معنا نیست که برای دارندگان دستگاه های دیگر مشکل غیرقابل حل است. تعداد کافی برنامه ویژه وجود دارد که با موفقیت با این کار کنار می آیند. اکنون همه گزینه ها را در نظر خواهیم گرفت.

استفاده از ابزارهای استاندارد (برای نسخه کمتر از Android 4.0)

در منوی اصلی دستگاه خود، به "تنظیمات" بروید. "Application Manager" (یا "Application Manager") را انتخاب کنید، روی:

در لیست ظاهر شده برنامه هایی که روی اسبابک ما نصب شده اند، مورد نیاز خود را انتخاب کنید (به عنوان مثال، "ChatOn" را انتخاب کردیم). با ضربه زدن روی خط با نام، پارامترهای این برنامه را باز می کنیم، جایی که باید روی دکمه "غیرفعال کردن" کلیک کنید. یک هشدار سیستم ظاهر می شود و از شما خواسته می شود دستور را تأیید کنید. پاسخ مثبت می دهیم. اکنون، هنگامی که لیست برنامه ها را باز می کنید، می توانید ببینید که خط با "ChatOn" وضعیت را نشان می دهد - "غیرفعال":

این روش خوب است زیرا اگر به دلایلی ناگهان دوباره به یک برنامه غیرفعال نیاز پیدا کردید، همیشه می توانید با بازگشت به لیست و کلیک کردن روی دکمه "فعال کردن" آن را فعال کنید:

یک نکته بسیار مهم را باید در نظر گرفت. شما که فهرست برنامه ها را مرحله به مرحله مرور می کنید و برنامه های بی ادعا را خاموش می کنید، ممکن است هنگام باز کردن بخش "جزئیات برنامه" با وضعیتی مواجه شوید که دکمه "خاموش کردن" غیرفعال باشد (در مثال ما، این G است. -برنامه پست الکترونیکی):

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

به طور کلی، آنچه مجاز است - می‌توانیم آن را غیرضروری خاموش کنیم، و آنچه مجاز نیست - اگر نمی‌دانید چرا به آن نیاز دارید و چگونه می‌تواند پایان یابد، هیچ خاموشی اجباری وجود ندارد.

ویدئوی اطلاعاتی:

کنترل خودکار با استفاده از برنامه (بدون ROOT)

همانطور که در بالا ذکر شد، در دستگاه های اندرویدی نسخه های کمتر از 4.0، هیچ ابزار داخلی وجود ندارد که بتوان از آن برای متوقف کردن شروع خودکار برنامه ها استفاده کرد. این به هیچ وجه به معنای ناامید کننده بودن وضعیت نیست. نرم افزار ویژه ای به کمک خواهد آمد و معمولاً با حل وظایف مقابله می کند.

یکی از این ابزارها AutoStart - No root است. این یک مدیر برنامه های اتوران بدون هیچ مشکلی قابل درک است که به شما امکان می دهد برنامه هایی را که هنگام روشن کردن ابزار به طور خودکار شروع می شوند تعیین کنید.

کار با Autostart بسیار ساده است: دو سوئیچ روی صفحه کار وجود دارد که به شما امکان می دهد حالت بارگیری خودکار را فعال یا (در صورت لزوم) غیرفعال کنید. انتخاب نرم افزار مورد نظر از طریق دکمه فراخوانی مرورگر برنامه انجام می شود:

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

برای نمایش اعلان‌های مربوط به برنامه‌های در حال اجرا، باید کادر کنار مورد «نمایش اعلان هنگام راه‌اندازی» را علامت بزنید. این برنامه برنامه های کاربردی سیستم را به صورت خودکار بارگیری نمی کند.

کنترل شروع خودکار با ROOT (AutoStarts)

AutoStarts یکی از اثبات شده ترین و طولانی ترین برنامه ها در نوع خود در بازار است. عملکرد عالی AutoStarts و نیاز به حقوق ROOT خطرات قابل توجهی را به کاربر تحمیل می کند، زیرا با کمک این برنامه صاحب دستگاه اندروید تقریباً بر تمام فرآیندها قدرت می یابد. سیستم عامل، شامل و سیستمیک

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

بنابراین، . و پس از نصب و اجرا AutoStarts، آیکون را روی دسکتاپ فشار می دهیم، پس از آن برنامه شروع به بررسی تمام برنامه های نصب شده می کند. پس از اسکن، می توانید هر چیزی که باعث شروع خودکار می شود را ببینید. ما چیزی را انتخاب می کنیم که به آن نیاز نداریم (به عنوان مثال، در تصویر، برنامه "Serials"). پس از فعال کردن دکمه "رد کردن"، درخواستی برای حقوق "Superuser" ظاهر می شود، روی "Grant" کلیک کنید و برنامه انتخاب شده غیرفعال می شود:

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

درباره نحوه عملکرد AutoStarts بیشتر بدانید:

در نتیجه می توان گفت که تنظیم صحیح عملکرد نرم افزارنتایج بسیار خوبی از نظر صرفه جویی در باتری و همچنین منابع سیستم می دهد. با این حال، باید بدانید که اقدامات عجولانه برای غیرفعال کردن اتوران می تواند نه تنها منجر به عدم تعادل در عملکرد برنامه های خاص، بلکه به کل دستگاه شود. موفق باشید!

غیرفعال کردن برنامه های شروع خودکار بدون شک باید شروع را در تلفن هوشمند یا رایانه لوحی سرعت بخشد. اندروید 5 یا اندروید 6 فرقی نمی کند و می توانید این ترفند را بدون روت انجام دهید.

برای غیرفعال کردن یک عنصر سیستم، باید آن را از لیست اجرای خودکار حذف کنید (بارگیری خودکار زمانی که ابزار روشن است).

در صورت لزوم می‌توانید عناصر دیگری را اضافه کنید که در هنگام راه‌اندازی شروع به بارگیری نمی‌کنند و فقط آنها را حذف نکنید.

توجه: برای برخی از برنامه های سیستمی در اندروید، ممنوعیت در هنگام راه اندازی غیرممکن است، به طور دقیق تر، پس از آن ممکن است تلفن حداقل با عملکرد کامل کار نکند.

اولین راه برای لغو برنامه های اتوران در اندروید

توجه: این گزینه خیلی مؤثر نیست، با کمک آن یک مسدود کردن اجباری انجام می شود، اما این واقعیت نیست که پس از راه اندازی مجدد برنامه به طور خودکار شروع به کار نمی کند، به خصوص اگر توسط سازنده ساخته شده باشد.

بنابراین، این گزینه ارزش چندانی ندارد، اما چیز دیگری برای استفاده در اندروید وجود ندارد - توسط توسعه دهنده ارائه نشده است.

همانطور که می گویند ، ما آنچه را داریم داریم - اگر تلاش ناموفق بود ، در نظرات ننویسید که نتیجه نداد (من ناتوان از کمک کردن هستم) ، اما به گزینه دوم بروید.

گزینه دوم بسیار ارجح تر، کارآمدتر و سریعتر است، فقط نیاز به نصب برنامه دارد.

در روش اول وارد تنظیمات شده، برنامه ها را باز کنید و به مدیر برنامه بروید (ممکن است در نسخه های قدیمی نباشد).

انتخاب کنید کدام یک را می خواهید غیرفعال کنید و روی آن کلیک کنید. به عنوان مثال، در اندروید 5.1، من "Klondike" را که به تازگی نصب شده است انتخاب می کنم.

در سمت چپ، روی "غیرفعال کردن" کلیک می کنم و سپس روی "اجبار غیرفعال کردن" کلیک می کنم.

اکنون گوشی هوشمند سامسونگ گلکسی را ریبوت می کنم و می بینم چه اتفاقی افتاده است.

همانطور که می بینید، مسدود کردن موفقیت آمیز بود - امکان توقف "Kerchief" در autorun وجود داشت. همه چیز بدون روت و برنامه های اضافی انجام می شود.

توجه: اکنون نمی نویسم که اوضاع در نسخه های قدیمی اندروید چگونه است، زیرا اکنون چنین دستگاه هایی وجود ندارد. فقط اندروید 5.1، 6.0.1 و با اندروید 7.0.

راه دوم برای غیرفعال کردن برنامه های اتوران در اندروید

برای این گزینه، باید یک برنامه اضافی نصب کنید که می تواند autorun را غیرفعال کند.

چنین تحولاتی زیاد است. برخی نیاز به روت دارند، برخی دیگر می توانند بدون آن کار کنند (بسیار بستگی به این دارد که چه چیزی را غیرفعال کنیم). من مجموعه خودم را دارم.

ساده است و برای خود انتخاب کنید که می خواهید. همه چیز به زبان روسی است.

اگر هدف محقق شود، عالی است. اگر هیچ فرم نظر برای کمک وجود نداشته باشد، با هم تصمیم خواهیم گرفت.

اینترنت، مثل همیشه، در مورد نحوه توقف برنامه های اندروید در اتوران سکوت نکرده است تا دستگاه مهیج تر شود.

همه روی یک چیز توافق دارند - این به برنامه های شخص ثالث، به ویژه Boot Manager نیاز دارد - هیچ ابزار سیستمی وجود ندارد.

بدون شک - یک گزینه، با Boot Manager با نسخه های اندروید 2.3، 3.4، 4.4 و غیره کار می کند، فقط روت، شما نیز به آن نیاز خواهید داشت.

توجه: دسترسی به روت در نسخه‌های 4.0 و پایین‌تر بسیار آسان است، اما هنگام امتحان کردن اندروید 5، به جز اندروید 7، موانع غیرقابل عبور هستند، به جز انجام پیوند مجدد.

چه کسی روت کرد، پس از نصب Boot Manager، باید Xposed Installer را اجرا کرده و Boot Manager را فعال کنید، سپس تبلت یا گوشی هوشمند خود را مجددا راه اندازی کنید.

پس از راه اندازی گوشی، Boot Manager را راه اندازی می کنیم، لیست برنامه ها را در اتوران مشاهده می کنیم و می توانید به سرعت موارد مورد نیاز را غیرفعال کنید.

اولی پولی است - دومی رایگان است و مهمتر از همه، نام می گوید - می توانید بدون حقوق ریشه آن را خاموش کنید.

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

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

مهم: با داشتن حقوق فوق العاده، قصد ندارید (از سر ناآگاهی) چیزهای غیر ضروری را غیرفعال کنید - نتیجه: در بهترین حالت، برخی از عملکردها از کار می افتند. مراقب باش. موفق باشید.

سال 2، ما قبلاً می بینیم که سیستم اندروید چقدر تغییر کرده است و گوگل چقدر آن را به طور جدی بهبود داده است و آن را راحت، سریع، با رابطی روان، با فرصت های عالی ساخته است. اکنون با اطمینان می‌توان گفت که اندروید به هیچ وجه از رقیب اصلی خود iOS پایین‌تر نیست.

با این حال، گاهی اوقات می توان اشاره کرد که یک تلفن هوشمند یا تبلت اندرویدی کندتر شروع به کار می کند. این امر به ویژه در صورتی که برای مدت طولانی با دستگاه کار می کنید رایج است. اگر عملکرد دستگاه را بلافاصله پس از خرید و پس از چند ماه مقایسه کنیم، می توانیم با تعجب ناخوشایند اعتراف کنیم که تفاوت آشکار است. تغییر میان در حال اجرا برنامه های کاربردیدر حال حاضر کند است، راه اندازی برنامه باعث می شود چند ثانیه منتظر بماند، که قبلاً اینطور نبود. همه چیز را می توان به یک دلیل بسیار ساده پنهان کرد - برنامه های بسیار زیادی با روشن شدن دستگاه راه اندازی می شوند و سپس به کار خود ادامه می دهند. زمینهمسدود کردن حافظه

اغلب این را می توان در تلفن های هوشمند و تبلت های اندرویدی با 1 گیگابایت مشاهده کرد حافظه دسترسی تصادفییا حتی کمتر، زیرا این حداقل نیاز برای Android برای کار عادی می شود. ناراحت نشوید، زیرا یک راه حل ساده برای مشکل وجود دارد. برنامه های بسیاری از توسعه دهندگان مستقل وجود دارد که به طور فعال راه حل های خود را برای بهینه سازی عملکرد سیستم عامل تبلیغ می کنند.

ما تصمیم گرفتیم برای مثال یک برنامه BootManager بسیار مفید را انتخاب کنیم که نام آن قبلاً برای خود صحبت می کند. ما می توانیم تمام برنامه هایی را که در ابتدا همراه با خود سیستم بارگذاری می شوند مدیریت کنیم. در BootManager، می‌توانید به صورت دستی برنامه‌هایی را انتخاب کنید که واقعاً نیاز به بارگیری دارند و به سادگی حافظه و منابع اضافی را اشغال می‌کنند. با ویرایش لیست برنامه های دانلود خودکار، می توانید به خوبی سیستم را تخلیه کنید و عملکرد را بهبود ببخشید.

از کار با BootManager نترسید. ابتدا باید فریم ورک Xposed را نصب کنید که از این لینک قابل دانلود است. همچنین برای نصب به مجوزهای روت نیاز خواهید داشت. ارزش دارد که از قبل در این مورد نگران باشید.

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

حذف یک برنامه از لیست دانلود خودکار بسیار ساده است - روی نام برنامه کلیک کنید و تمام، وقتی تلفن هوشمند / تبلت اندرویدی خود را روشن می کنید دیگر بارگذاری نمی شود. همه برنامه های غیرفعال شده از راه اندازی در لیست با رنگ قرمز برجسته می شوند.

روش فوق ابزاری را در دسترس بسیاری برای غیرفعال کردن برنامه های غیر ضروری از راه اندازی ارائه می دهد که به بهبود چشمگیر وضعیت عملکرد کمک می کند ، رم رایگان بیشتری وجود خواهد داشت که برای چندوظیفه و کار با برنامه های واقعا ضروری بیشتر مورد نیاز است.

می توانید اپلیکیشن BootManager را از اینجا دانلود کنید گوگل پلیدر این لینک بازار کنید

به روز شده در 2015.02.29: یک برنامه جایگزین برای غیرفعال کردن برنامه های کاربردی سیستم، Autostarts است. همچنین، با کمک آن، می توانید مصرف منابع تمام فرآیندها را نظارت کنید و از قبل تصمیم بگیرید که کدام یک را غیرفعال کنید و کدام را ترک کنید.

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

خطایی پیدا کردید؟ آن را انتخاب کرده و Ctrl+Enter را فشار دهید

نشان می دهد که موضوع دریافت پیام ACTION_BOOT_COMPLETED تا امروز مرتبط است. همانطور که می بینید، بسیاری از مبتدیان با این مشکل مواجه هستند که پیام ACTION_BOOT_COMPLETED را در برنامه های خود دریافت نمی کنند. در این مقاله سعی خواهم کرد داده های اسناد رسمی، تجربه بسیاری از توسعه دهندگان از stackoverflow.com و همچنین تجربه خودم را خلاصه کنم. بنابراین، چگونه می توان این "دشمن موذی" به نام "ACTION_BOOT_COMPLETED" را شکست داد؟

1. نظریه

با نگاهی به نمونه هایی از یک منبع رسمی (مانند این یکی و این یکی) و مطالعه توصیه ها در stackoverflow.com، قوانین زیر را می توان تشخیص داد:
  1. در مانیفست، در عنصر "manifest"، مجوز را مشخص کنید:

  2. در مانیفست، در عنصر "application"، گیرنده خود را برای دریافت پیام ACTION_BOOT_COMPLETED ثبت کنید:


    یا


    از نام کلاس کاملاً واجد شرایط یا نسبی صحیح برای گیرنده پخش خود استفاده کنید. در توضیحات گیرنده، ویژگی های "فعال"، "صادرات" و غیره را بدون ضرورت مشخص نکنید. تنظیمات و ویژگی های پیش فرض کافی است.

  3. کد گیرنده پخش شما:

    کلاس عمومی BootCompletedReceiver BroadcastReceiver را گسترش می دهد ( عمومی BootCompletedReceiver() ( ) void عمومی onReceive (Context context, Intent intent) ( if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) (// کد شما در اینجا))
    اگر گیرنده شما فقط برای پیام ACTION_BOOT_COMPLETED استفاده می شود، بررسی "اگر" اختیاری است. با این حال، گاهی اوقات توسعه دهندگان از یک گیرنده برای پیام های مختلف استفاده می کنند. در این حالت، پیام ها را با تیک زدن در داخل متد onReceive فیلتر کنید.

  4. برنامه باید روی حافظه داخلی نصب شود. سیستم عامل اندروید به گونه ای طراحی شده است که پیام ACTION_BOOT_COMPLETED قبل از نصب حافظه خارجی به برنامه ها ارسال می شود. بنابراین برنامه های نصب شده روی حافظه خارجی هرگز این پیام را دریافت نمی کنند. برای اینکه به سیستم بگویید برنامه‌ای را روی حافظه خارجی نصب نکند، نیازی نیست که ویژگی "@android:installLocation" را روی "auto" یا "preferExternal" در مانیفست تنظیم کنید. به طور پیش فرض، یعنی اگر این ویژگی مشخص نشده باشد، سیستم عامل فقط برنامه شما را روی حافظه داخلی نصب می کند. با این حال، با توجه به مستندات رسمی، بهتر است به صراحت مقدار "internalOnly" را مشخص کنید تا شما و سایر توسعه دهندگان وسوسه نشوید که مقدار دیگری را در آینده تعیین کنید.

  5. پس از نصب یا توقف اجباری (توقف اجباری)، برنامه باید حداقل یک بار راه اندازی شود تا سیستم این برنامه را به خاطر بسپارد تا پیام ACTION_BOOT_COMPLETED را برای آن ارسال کند. این رفتار به دلایل امنیتی در اندروید 3.1 پیاده سازی شده است. نکته چیست؟ همه برنامه‌های تازه نصب‌شده در حالت «توقف» هستند (با فعال‌سازی اشتباه نشود، زیرا سیستم‌عامل این حالت را برای برنامه‌ها و فعالیت‌ها به روش‌های مختلف مدیریت می‌کند). هنگامی که کاربر به زور آن را در تنظیمات گوشی متوقف می کند، برنامه به همان حالت "ترک" می شود. در حالی که برنامه در این حالت است، به هیچ دلیلی (مثلاً از طریق ACTION_BOOT_COMPLETED) توسط سیستم راه اندازی نمی شود، مگر اینکه البته توسط خود کاربر راه اندازی شده باشد. به لطف این نوآوری، بخش بزرگی از "ویروس ها و تروجان ها" از کار افتادند، زیرا. بعد از نصب دیگر امکان راه اندازی خودکار وجود ندارد.

    استثنا برنامه های سیستمی است: کاربر را ببینید.

  6. ویژگی های حالت بوت سریع در دستگاه های HTC. مشخص است که دستگاه های HTC به معنای کلاسیک راه اندازی مجدد نمی شوند، بلکه از به اصطلاح استفاده می کنند. حالت بوت سریع (این نوعی خواب زمستانی است)، وضعیت سیستم عامل را روی دیسک ذخیره می کند. بنابراین، پیام ACTION_BOOT_COMPLETED توسط سیستم ارسال نمی شود زیرا هیچ بارگیری مجدد در واقع رخ نمی دهد (). به جای ACTION_BOOT_COMPLETED، سیستم ممکن است پیام های زیر را ارسال کند:


    در برنامه خود، پیام های بالا را علاوه بر ACTION_BOOT_COMPLETED در برچسب "گیرنده" قرار دهید. علاوه بر این، ثبت مجوز علاوه بر بند 1 ضروری است:

2. تمرین: خطاها و ویژگی های عملیات

بیایید اشتباهاتی را که مبتدیان هنگام تنظیم برنامه و در کد انجام می دهند، تجزیه و تحلیل کنیم.

3. اشکال زدایی گیرنده در شبیه ساز و در دستگاه های واقعی.


نتایج

برای اینکه برنامه شما در همه دستگاه‌ها روی بوت اجرا شود، مانیفست حداقل باید به شکل زیر باشد:


کد گیرنده معمولاً به شکل زیر خواهد بود:

کلاس عمومی BootCompletedReceiver، BroadcastReceiver را گسترش می دهد ( عمومی BootCompletedReceiver () ( ) void عمومی onReceive (زمینه زمینه، هدف Intent) ( if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED.) (Toastma toastTextTextpplicationtx. ), context.getResources().getString(R.string.your_message)، Toast.LENGTH_LONG؛ toast.show(); Log.d("myapp"، context.getResources().getString(R.string.your_message) ; // کد شما اینجاست )))
امیدوارم این مقاله به مبتدیان کمک کند تا بر "دشمن موذی" به نام "ACTION_BOOT_COMPLETED" غلبه کنند.

 
مقالات توسطموضوع:
صفحه فرود چیست و چگونه باید باشد نام صفحه فرود در اینترنت چیست؟
اکثر صاحبان مشاغل خصوصی، خدمات مختلف و سازمان های کوچک می دانند که انجام تجارت آنلاین چقدر اهمیت دارد. ایجاد وب سایت و حفظ صفحه در شبکه های اجتماعی در حال حاضر بخشی از استراتژی بازاریابی هر شرکتی است. اما تعداد کمی از شرکت ها و
چگونه قالب خود را روی ucoz نصب کنیم - برنامه ای که از آن اطلاعی نداشتید، ما در حال یادگیری اتصال هستیم!
نحوه نصب قالب جوملا - رفع عیب - 4.5 از 5 بر اساس 2 رای انتخاب، نصب و پیکربندی قالب یکی از مهم ترین مراحل ایجاد سایت جوملا است. در این آموزش نحوه نصب قالب را بررسی خواهیم کرد
Faibisovich - راهنمای طراحی شبکه های الکتریکی
کتابچه راهنمای طراحی شبکه های الکتریکی ویرایش شده توسط D. L. FAIBISOVICH ویرایش 4، بازبینی و تکمیل شده داور V. V. Mogirev نویسندگان: I. G. Karapetyan (pp. 3.2, 5.1, 5.3-5.8, sec. 7bisov), sec.
نرم افزار کامپیوتر نرم افزار اطلاعات کامپیوتر کاربر
نرم افزار یا نرم افزار (SW) بخشی جدایی ناپذیر از یک کامپیوتر است. نرم افزار ادامه منطقی ابزارهای فنی است که امکانات و دامنه استفاده از رایانه را گسترش می دهد. برای عملکرد کامپیوتر از مجموعه ای از نرم افزارها استفاده می شود.