Ինչպես դադարեցնել հավելվածների ավտոմատ ներբեռնումը Android-ում: Ինչպես անջատել ավտոմատ մեկնարկը Android-ում. մեթոդներ և առաջարկություններ: Ծրագրերը ավտոմատ բեռնումից հեռացնելու հեշտ միջոց

Ցույց է տալիս, որ ACTION_BOOT_COMPLETED հաղորդագրությունը ստանալու թեման մնում է ակտուալ մինչ օրս: Ինչպես տեսնում եք, շատ սկսնակներ բախվում են խնդրի հետ, որ իրենց դիմումներում չեն ստանում ACTION_BOOT_COMPLETED հաղորդագրությունը: Այս հոդվածում ես կփորձեմ ամփոփել պաշտոնական փաստաթղթերի տվյալները, stackoverflow.com-ից շատ մշակողների փորձը, ինչպես նաև իմ սեփական փորձը: Այսպիսով, ինչպե՞ս հաղթել «ACTION_BOOT_COMPLETED» կոչվող այս «նենգ թշնամուն»:

1. Տեսություն

Դիտելով օրինակներ պաշտոնական աղբյուրից (օրինակ՝ այս և այս մեկը) և ուսումնասիրելով stackoverflow.com-ի առաջարկությունները՝ կարելի է առանձնացնել հետևյալ կանոնները.
  1. Մանիֆեստում, «մանիֆեստ» տարրում նշեք թույլտվությունը.

  2. Մանիֆեստում, «հավելված» տարրում գրանցեք ձեր ստացողը ACTION_BOOT_COMPLETED հաղորդագրությունը ստանալու համար.


    կամ


    Օգտագործեք ճիշտ լրիվ որակավորված կամ հարաբերական դասի անվանումը ձեր հեռարձակման ընդունիչի համար: Ստացողի նկարագրության մեջ առանց անհրաժեշտության մի նշեք «միացված», «արտահանված» և այլն ատրիբուտները։ Լռելյայն կարգավորումները և ատրիբուտները բավարար են:

  3. Ձեր հեռարձակման ընդունիչ կոդը.

    Հանրային դասի BootCompletedReceiver-ը ընդլայնում է BroadcastReceiver-ը ( public BootCompletedReceiver() ( ) public void onReceive (Համատեքստային համատեքստ, Intent intent) ( if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) ( // ձեր կոդը) այստեղ)
    Եթե ​​ձեր ստացողը օգտագործվում է միայն ACTION_BOOT_COMPLETED հաղորդագրության համար, ապա «եթե» ստուգումը պարտադիր չէ: Այնուամենայնիվ, երբեմն մշակողները օգտագործում են նույն ընդունիչը տարբեր հաղորդագրությունների համար: Այս դեպքում զտեք հաղորդագրությունները՝ ստուգելով դրանք onReceive մեթոդի ներսում:

  4. Հավելվածը պետք է տեղադրվի ներքին հիշողության վրա։ Android ՕՀ-ն նախագծված է այնպես, որ ACTION_BOOT_COMPLETED հաղորդագրությունն ուղարկվում է հավելվածներին՝ նախքան արտաքին հիշողությունը միացնելը: Հետևաբար, արտաքին հիշողության վրա տեղադրված հավելվածները երբեք չեն ստանա այս հաղորդագրությունը: Համակարգին չտեղադրել հավելված արտաքին հիշողության մեջ, պետք չէ մանիֆեստում «@android:installLocation» հատկանիշը դնել «auto» կամ «preferExternal»: Լռելյայնորեն, այսինքն. եթե այս հատկանիշը նշված չէ, ՕՀ-ն միայն կտեղադրի ձեր հավելվածը ներքին հիշողություն. Այնուամենայնիվ, ըստ պաշտոնական փաստաթղթերի, ավելի լավ է հստակորեն նշել «InternalOnly» արժեքը, որպեսզի ապագայում այլ արժեք նշելու գայթակղություն չունենաք դուք և մյուս մշակողները:

  5. Տեղադրումից կամ հարկադիր կանգառից հետո (հարկադիր կանգառ) հավելվածը պետք է գործարկվի առնվազն մեկ անգամ, որպեսզի համակարգը «հիշի» այս հավելվածը՝ նրան ACTION_BOOT_COMPLETED հաղորդագրություն ուղարկելու համար: Այս պահվածքը ներդրվել է Android 3.1-ում՝ անվտանգության նկատառումներից ելնելով: Ո՞րն է իմաստը։ Բոլորը հենց հիմա տեղադրված հավելվածներգտնվում են «դադարեցված» վիճակում (չշփոթել գործունեության հետ, քանի որ ՕՀ-ն տարբեր ձևերով կառավարում է այս վիճակը հավելվածների և գործողությունների համար): Հավելվածը «թողնում» է նույն վիճակին, երբ օգտատերը բռնի դադարեցնում է այն հեռախոսի կարգավորումներում։ Քանի դեռ հավելվածը այս վիճակում է, այն չի գործարկվի համակարգի կողմից որևէ պատճառով (օրինակ՝ ACTION_BOOT_COMPLETED-ի միջոցով), բացառությամբ, իհարկե, եթե այն սկսել է անձամբ օգտատերը: Այս նորամուծության շնորհիվ «վիրուսների ու տրոյանների» մի զգալի մասը դադարեց աշխատել, քանի որ. Տեղադրվելուց հետո այլևս հնարավոր չէ ինքնաբերաբար սկսել:

    Բացառություն են կազմում համակարգային հավելվածները. տե՛ս օգտատիրոջ նշումը kolipass-ից:

  6. Արագ բեռնման ռեժիմի առանձնահատկությունները HTC սարքերում: Հայտնի է, որ HTC սարքերը դասական իմաստով չեն վերաբեռնում, այլ օգտագործում են այսպես կոչված. Արագ բեռնման ռեժիմ (սա ձմեռման ձև է)՝ պահպանելով ՕՀ-ի վիճակը սկավառակի վրա: Հետևաբար, ACTION_BOOT_COMPLETED հաղորդագրությունը չի ուղարկվում համակարգի կողմից, քանի որ ոչ մի վերաբեռնում իրականում տեղի չի ունենում (). ACTION_BOOT_COMPLETED-ի փոխարեն համակարգը կարող է ուղարկել հետևյալ հաղորդագրությունները.


    Ձեր դիմումում ներառեք վերը նշված հաղորդագրությունները, բացի ACTION_BOOT_COMPLETED-ից, «ընդունիչ» թեգում: Բացի այդ, 1-ին կետից բացի անհրաժեշտ է գրանցել թույլտվություն.

2. Պրակտիկա՝ սխալներ և շահագործման առանձնահատկություններ

Եկեք վերլուծենք այն սխալները, որոնք թույլ են տալիս սկսնակները հավելվածը կարգավորելիս և կոդում:

3. Ստացողի վրիպազերծում էմուլյատորում և իրական սարքերում:


Արդյունքներ

Որպեսզի ձեր հավելվածը գործարկվի բեռնման վրա բոլոր սարքերում, մանիֆեստը պետք է առնվազն այսպիսի տեսք ունենա.


Ստացողի կոդը սովորաբար այսպիսի տեսք կունենա.

Հանրային դասի BootCompletedReceiver-ը ընդլայնում է BroadcastReceiver-ը ( public BootCompletedReceiver() ( ) public void onReceive(Համատեքստային համատեքստ, մտադրություն) ( if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) ( Toastma toastT =Atostpplication. ), 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» կոչվող «նենգ թշնամուն»:

Անշուշտ շատերը ծանոթ են այն իրավիճակին, երբ սրահում նոր գնված բոլորովին նոր սմարթֆոնը ստիպեց տիրոջ սիրտն ավելի արագ բաբախել ոչ միայն արտաքինից, այլև արտասովոր արագությունից և զարմանալի արձագանքից: Բայց հենց որ բոլոր անհրաժեշտ ծրագրերը տեղադրվեն սարքի վրա, Անդրյուխան սկսում է գործել և դժվար թե հիմա նրան խելացի և արձագանքող անվանել։

Եվ այս կերպարանափոխության պատճառը կայանում է նրանում, որ շատ ծրագրերում և ծառայություններում ավելացվել է autoload ֆունկցիան և, սկսած օպերացիոն համակարգի գործարկումից միաժամանակ, նրանք շարունակում են աշխատել հետին պլանում՝ բառացիորեն սպառելով համակարգի ռեսուրսները և մարտկոցի էներգիան։ . Startup Android-ը և ինչպես ազատվել դրանից. ահա թե ինչի մասին է մեր այսօրվա նյութը:

Ցավոք, ոչ բոլոր սարքերի մոդելներն ունեն ներկառուցված գործիքներ, որոնք կարող են կառավարել այս գործընթացը: Բայց դա չի նշանակում, որ այլ սարքերի սեփականատերերի համար խնդիրն անլուծելի է։ Կան բավարար թվով հատուկ ծրագրեր, որոնք հաջողությամբ հաղթահարում են առաջադրանքը: Այժմ մենք կքննարկենք բոլոր տարբերակները:

Օգտագործելով ստանդարտ գործիքներ (Android 4.0-ից ոչ ցածր տարբերակի համար)

Ձեր սարքի հիմնական ընտրացանկում անցեք «Կարգավորումներ»: Ընտրեք «Application Manager» (կամ «Application Manager»), սեղմեք.

Հայտնվող հավելվածների ցանկում, որոնք տեղադրված են մեր գործիքի վրա, ընտրեք ձեզ անհրաժեշտը (օրինակ՝ մենք ընտրեցինք «ChatOn»): Հպելով անվան հետ կապված տողի վրա՝ մենք կբացենք այս ծրագրի պարամետրերը, որտեղ պետք է սեղմել «Անջատել» կոճակը։ Համակարգի նախազգուշացում կհայտնվի, և ձեզ կառաջարկվի հաստատել հրամանը: Մենք դրական ենք պատասխանում. Այժմ, երբ բացում եք հավելվածների ցանկը, կարող եք տեսնել, որ «ChatOn» տողը ցույց է տալիս վիճակը՝ «Անջատված».

Այս մեթոդը լավ է, քանի որ եթե ինչ-ինչ պատճառներով ձեզ հանկարծ նորից անհրաժեշտ է անջատված ծրագիր, միշտ կարող եք ակտիվացնել այն՝ վերադառնալով ցուցակ և սեղմելով «Միացնել» կոճակը.

Պետք է հաշվի առնել մեկ շատ կարևոր կետ. Դուք, քայլ առ քայլ անցնելով հավելվածների ցանկը և անջատելով չպահանջվածները, կարող եք բախվել մի իրավիճակի, երբ բացելով «Հավելվածի մանրամասները» բաժինը, դուք հանդիպեք «Անջատել» կոճակը, որպեսզի այն անգործուն լինի (մեր օրինակում սա G-ն է. -փոստի դիմում):

Սա նշանակում է, որ այն հնարավոր չի լինի ապաակտիվացնել, և դա անհնար է ամեն դեպքում, քանի որ խոսքը համակարգային հավելվածների մասին է, և դրանցից որևէ մեկի հեռացումը լավագույն դեպքում կարող է հանգեցնել համակարգում անհավասարակշռության։

Ընդհանուր առմամբ, այն, ինչ թույլատրված է, մենք կարող ենք անջատել այն որպես ավելորդ, իսկ ինչը չի կարելի, հարկադիր անջատումներ չկան, եթե չգիտեք, թե ինչու է դա ձեզ անհրաժեշտ և ինչպես կարող է ավարտվել:

Տեղեկատվական տեսանյութ.

Ավտոմատ մեկնարկի կառավարում հավելվածի միջոցով (առանց ROOT)

Ինչպես նշվեց վերևում, Android սարքերում 4.0-ից պակաս տարբերակներում չկան ներկառուցված գործիքներ, որոնք կարող են օգտագործվել ծրագրերի ավտոմատ մեկնարկը դադարեցնելու համար: Սա ամենևին չի նշանակում, որ իրավիճակն անելանելի է։ Օգնության կգա հատուկ ծրագրակազմը, որը սովորաբար հաղթահարում է առաջադրանքների լուծումը:

Այդպիսի օգտակարներից է AutoStart - No root: Սա հասկանալի է, առանց որևէ «դժբախտության» autorun ծրագրերի մենեջեր, որը թույլ կտա որոշել այն հավելվածները, որոնք ավտոմատ կերպով սկսվում են գաջեթը միացնելիս։

Autostart-ի հետ աշխատելը չափազանց պարզ է. աշխատանքային էկրանին կա երկու անջատիչ, որոնք թույլ են տալիս կամ ակտիվացնել կամ (անհրաժեշտության դեպքում) անջատել ավտոմատ բեռնման ռեժիմը: Ցանկալի ծրագրաշարի ընտրությունը տեղի կունենա հավելվածի բրաուզերի զանգի կոճակի միջոցով.

Աշխատանքային էկրանին դուք կարող եք տեսնել մի անջատիչ, որը թույլ է տալիս ակտիվացնել կամ, ընդհակառակը, անջատել որոշակի ծրագրաշարի ավտոմատ բեռնման ռեժիմը: Ծրագրաշարի ընտրությունն ինքնին տեղի է ունենում հավելվածի բրաուզերի զանգի կոճակի միջոցով:

Գործող հավելվածների մասին ծանուցումները ցուցադրելու համար անհրաժեշտ է նշել «Ցույց տալ ծանուցումը բեռնման ժամանակ» կետի կողքին գտնվող վանդակը: Ծրագիրը ավտոմատ կերպով չի բեռնում համակարգի հավելվածները:

Ավտոմատ մեկնարկի կառավարում ROOT-ով (AutoStarts)

Autostarts-ը իր տեսակի մեջ ամենաապացուցված և ամենաերկարակյաց ծրագրերից մեկն է շուկայում: Autostarts-ի մեծ ֆունկցիոնալությունը և ROOT իրավունքներ ունենալու անհրաժեշտությունը զգալի ռիսկեր են պարունակում օգտվողի համար, քանի որ այս ծրագրի օգնությամբ Android սարքի սեփականատերը իշխանություն է ստանում գրեթե բոլոր գործընթացների վրա: օպերացիոն համակարգ, ներառյալ և համակարգային։

Կան վճարովի և անվճար տարբերակներ։ Հասկանալի է, որ երկրորդ տարբերակը կհաղթի ֆունկցիոնալության առումով, բայց բյուջետային տարբերակի գործիքները բավարար են առաջադրանքները կատարելու համար։

Այսպիսով, . Եվ Autostarts-ի տեղադրումից և գործարկումից հետո մենք սեղմում ենք աշխատասեղանի պատկերակը, որից հետո ծրագիրը կսկսի ուսումնասիրել բոլոր տեղադրված հավելվածները: Սկանավորումից հետո դուք կարող եք տեսնել այն ամենը, ինչ առաջացնում է ավտոմատ մեկնարկ: Մենք ընտրում ենք այն, ինչ մեզ պետք չէ (օրինակ, սքրինշոթում, «Serials» հավելվածը): «Մերժել» կոճակը միացնելուց հետո կհայտնվի «Գերօգտագործողի» իրավունքների հարցում, սեղմեք «Տրամադրել» և ընտրված ծրագիրը կանջատվի.

Անջատված ծրագրերը ցուցադրվում են առանձին ցուցակում՝ որպես խաչած անուն:

Իմացեք ավելին, թե ինչպես է աշխատում Autostarts-ը.

Եզրափակելով, մենք կարող ենք ասել, որ ճիշտ կարգավորումը գործում ծրագրային ապահովումգերազանց արդյունքներ է տալիս մարտկոցի խնայողության, ինչպես նաև համակարգի ռեսուրսների առումով: Այնուամենայնիվ, դուք պետք է հասկանաք, որ «autorun»-ն անջատելու համար չմտածված գործողությունները կարող են հանգեցնել ոչ միայն որոշակի ծրագրերի աշխատանքի անհավասարակշռության, այլև սարքի ընդհանուր առմամբ: Հաջողություն!

Ավտոմատ մեկնարկի հավելվածների անջատումը, անկասկած, պետք է արագացնի սմարթֆոնի կամ պլանշետի մեկնարկը: Կարևոր չէ android 5 կամ android 6, և դուք կարող եք անել այս հնարքը առանց root-ի:

Համակարգի տարրն անջատելու համար այն պետք է հեռացվի autorun ցուցակից (ավտոմատ բեռնում, երբ գործիքը միացված է):

Անհրաժեշտության դեպքում կարող եք ավելացնել այլ տարրեր, որոնք չեն սկսում բեռնվել գործարկման ժամանակ, և ոչ միայն հեռացնել դրանք:

ԾԱՆՈԹՈՒԹՅՈՒՆ՝ android-ում որոշ համակարգային հավելվածների համար անհնար է արգելք դնել գործարկման ժամանակ, ավելի ճիշտ՝ դրանից հետո հեռախոսը կարող է չաշխատել գոնե լիարժեք ֆունկցիոնալությամբ։

Android-ում autorun հավելվածները չեղարկելու առաջին միջոցը

Նշում. այս տարբերակը այնքան էլ արդյունավետ չէ, դրա օգնությամբ կատարվում է հարկադիր արգելափակում, բայց փաստ չէ, որ վերաբեռնումից հետո հավելվածը ինքնաբերաբար չի գործարկվի, հատկապես, եթե այն ստեղծվել է արտադրողի կողմից:

Հետևաբար, այս տարբերակը մեծ հույս չունի, բայց Android-ում այլ բան օգտագործելու բան չկա. այն չի տրամադրվում ծրագրավորողի կողմից:

Ինչպես ասում են, մենք ունենք այն, ինչ ունենք. եթե փորձն անհաջող էր, մի գրեք մեկնաբանություններում, դա չստացվեց (ես անզոր եմ օգնել), այլ անցեք երկրորդ տարբերակին:

Երկրորդ տարբերակը շատ ավելի նախընտրելի է, ավելի արդյունավետ և արագ, այն պահանջում է միայն ծրագրի տեղադրում։

Առաջին մեթոդով մուտքագրեք կարգավորումները, բացեք հավելվածները և գնացեք հավելվածի կառավարիչ (հին տարբերակներում դա կարող է չլինել):

Ընտրեք, թե որն եք ուզում անջատել և սեղմեք դրա վրա: Օրինակ, android 5.1-ում ես ընտրում եմ նոր տեղադրված «Klondike»-ը։

Ձախ կողմում ես սեղմում եմ «անջատել», իսկ հետո սեղմում եմ «Հարկադիր անջատում»:

Այժմ ես վերաբեռնում եմ Samsung Galaxy սմարթֆոնը և տեսնում եմ, թե ինչ է տեղի ունեցել:

Ինչպես տեսնում եք, արգելափակումը հաջող է ստացվել. հնարավոր եղավ դադարեցնել «Kerchief»-ը autorun-ում: Ամեն ինչ արվում է առանց root և լրացուցիչ ծրագրերի։

ԾԱՆՈԹԱԳՐՈՒԹՅՈՒՆ. Ես հիմա չեմ գրի, թե ինչպես են գործերը Android-ի հին տարբերակներում, քանի որ այժմ այդպիսի սարքեր չկան: Միայն android 5.1, 6.0.1 և android 7.0-ով:

Android-ում autorun հավելվածներն անջատելու երկրորդ եղանակը

Այս տարբերակի համար ձեզ հարկավոր է տեղադրել լրացուցիչ ծրագիր, որը կարող է անջատել autorun-ը:

Նման զարգացումները շատ են։ Ոմանք պահանջում են root, մյուսները կարող են անել առանց դրա (շատ բան կախված է նրանից, թե ինչ անջատել): Ես ունեմ իմ սեփական հավաքածուն։

Պարզ և ինքներդ ընտրեք այնպես, ինչպես ցանկանում եք: Ամեն ինչ ռուսերեն է։

Եթե ​​նպատակը հասնի, հիանալի է: Եթե ​​մեկնաբանության ձև չկա, որը կօգնի, մենք միասին կորոշենք:

Համացանցը, ինչպես միշտ, չի լռում թեմայի շուրջ, թե ինչպես դադարեցնել android հավելվածները autorun-ում, որպեսզի սարքն ավելի ցայտուն դառնա։

Բոլորը միակարծիք են մի բանում. սա պահանջում է երրորդ կողմի ծրագրեր, մասնավորապես Boot Manager- չկան համակարգի գործիքներ:

Անկասկած - տարբերակ, Boot Manager-ով այն կաշխատի android տարբերակների 2.3, 3.4, 4.4 և այլն, միայն root, ձեզ նույնպես պետք կգա:

ԾԱՆՈԹՈՒԹՅՈՒՆ. 4.0 և ներքևում գտնվող տարբերակներում արմատային հասանելիություն ստանալը շատ հեշտ է, բայց Android 5-ը փորձելիս, չխոսելով android 7-ի մասին, արգելքներն անհաղթահարելի են, բացառությամբ վերագրանցման:

Ով է ստացել root, Boot Manager-ը տեղադրելուց հետո ձեզ հարկավոր է գործարկել Xposed Installer-ը և ակտիվացնել Boot Manager-ը, այնուհետև վերագործարկել պլանշետը կամ սմարթֆոնը:

Հեռախոսը գործարկելուց հետո մենք գործարկում ենք Boot Manager-ը, մենք տեսնում ենք հավելվածների ցանկը autorun-ում և կարող եք արագ անջատել անհրաժեշտները:

Առաջինը վճարովի է, երկրորդը անվճար է, և, որ ամենակարևորն է, անվանումն ասում է՝ կարող եք անջատել առանց արմատային իրավունքների։

Առաջինի ֆունկցիոնալությունը պարզապես տպավորիչ է, սակայն, ինչ վերաբերում է վճարովի ծրագրին, դա միանգամայն նորմալ է:

ՈՒՇԱԴՐՈՒԹՅՈՒՆ. որքան քիչ ծրագրեր լինեն autorun-ում, այնքան ավելի արագ կգործարկվի սարքը, համակարգի հիշողությունը կպահվի պահեստում, և մարտկոցը ավելի երկար կծառայի:

ԿԱՐԵՎՈՐ. Ունենալով սուպեր իրավունքներ, դուք մտադիր չեք (անտեղյակությունից) անջատել ավելորդ բաները, արդյունքը. լավագույն դեպքում որոշ գործառույթներ ձախողվում են: Զգույշ եղիր. Հաջողություն.

Տարի 2, մենք արդեն տեսնում ենք, թե որքան է փոխվել Android համակարգը և որքան լրջորեն Google-ը կատարելագործել է այն՝ դարձնելով այն հարմար, արագ, հարթ ինտերֆեյսով, մեծ հնարավորություններով։ Այժմ կարող ենք վստահորեն ասել, որ Android-ը ոչ մի կերպ չի զիջում իր հիմնական մրցակից iOS-ին։

Այնուամենայնիվ, երբեմն կարելի է նշել, որ Android սմարթֆոնը կամ պլանշետը սկսում է ավելի դանդաղ աշխատել: Սա հատկապես տարածված է, եթե դուք երկար ժամանակ աշխատում եք սարքի հետ: Եթե ​​համեմատենք սարքի աշխատանքը գնելուց անմիջապես հետո և մի քանի ամիս հետո, ապա տհաճ զարմանքով կարող ենք խոստովանել, որ տարբերությունն ակնհայտ է։ Անցնել միջև գործարկվող հավելվածներարդեն դանդաղ է, հավելվածի գործարկումը ստիպում է սպասել մի քանի վայրկյան, ինչը նախկինում այդպես չէր: Ամեն ինչ կարելի է թաքցնել շատ պարզ պատճառով. չափազանց շատ հավելվածներ են գործարկվում, երբ սարքը միացված է, իսկ հետո շարունակում են աշխատել ֆոնխցանելով հիշողությունը.

Հաճախ դա կարելի է տեսնել Android սմարթֆոնների և 1 ԳԲ հզորությամբ պլանշետների վրա պատահական մուտքի հիշողությունկամ նույնիսկ ավելի քիչ, քանի որ սա դառնում է Android-ի նորմալ աշխատանքի համար անհրաժեշտ նվազագույնը: Մի տխրեք, քանի որ խնդրի պարզ լուծում կա։ Կան բազմաթիվ ծրագրեր անկախ ծրագրավորողների կողմից, որոնք ակտիվորեն առաջ են մղում իրենց սեփական լուծումները՝ օպերացիոն համակարգի աշխատանքը օպտիմալացնելու համար:

Մենք որոշեցինք ընտրել, օրինակ, շատ օգտակար BootManager հավելված, որի անվանումն արդեն խոսում է իր մասին։ Մենք կարող ենք կառավարել բոլոր հավելվածները, որոնք սկզբում բեռնված են հենց համակարգի հետ: BootManager-ում դուք կարող եք ձեռքով ընտրել այն հավելվածների վրա, որոնք իսկապես պետք է բեռնվեն, և որոնք պարզապես վերցնում են լրացուցիչ հիշողություն և ռեսուրսներ: Խմբագրելով ավտոմատ ներբեռնման հավելվածների ցանկը, դուք կարող եք լավ բեռնաթափել համակարգը և բարելավել աշխատանքը:

Մի վախեցեք աշխատել BootManager-ի հետ: Նախ անհրաժեշտ է տեղադրել Xposed ֆրեյմուքը, որը կարելի է ներբեռնել այս հղումից։ Տեղադրելու համար ձեզ նույնպես անհրաժեշտ են արմատական ​​թույլտվություններ: Այս մասին արժե նախապես անհանգստանալ։

Երբ ամեն ինչ տեղադրեք, գործարկեք BootManager ծրագիրը և կտեսնեք հավելվածների ամբողջական ցանկը, որոնք ավտոմատ կերպով բեռնվում են, երբ միացնում եք ձեր Android սարքը: Հարկ է նշել, որ ներս անվճար տարբերակ BootManager-ը չի ցուցադրում համակարգի հավելվածները, և դուք կարող եք խմբագրել միայն այն հավելվածների մեկնարկային ցուցակը, որոնք տեղադրվել են ինքներդ:

Հավելվածը ավտոմատ ներբեռնման ցանկից ջնջելը շատ պարզ է՝ սեղմեք հավելվածի անվան վրա և վերջ, այն այլևս չի բեռնվի, երբ միացնեք ձեր Android սմարթֆոնը / պլանշետը: Ցանկում գտնվող բոլոր հաշմանդամ հավելվածները կնշվեն կարմիրով:

Վերոնշյալ մեթոդն առաջարկում է շատերին հասանելի գործիք՝ գործարկման ժամանակ անհարկի հավելվածները անջատելու համար, ինչը կօգնի էապես բարելավել կատարողականի վիճակը, կլինի ավելի շատ ազատ RAM, որն ավելի շատ անհրաժեշտ է բազմաֆունկցիոնալ աշխատանքի և իսկապես անհրաժեշտ հավելվածների հետ աշխատելու համար:

Դուք կարող եք ներբեռնել BootManager հավելվածը Google Playշուկա այս հղումով։

Թարմացվել է 2015.02.29: Համակարգային հավելվածներն անջատելու այլընտրանքային ծրագիր է Autostarts-ը: Նաև դրա օգնությամբ դուք կարող եք վերահսկել բոլոր գործընթացների ռեսուրսների սպառումը և արդեն որոշել, թե որոնք անջատել և որոնք թողնել:

Հարկ է նշել, որ դուք կատարում եք բոլոր գործողությունները ձեր իսկ վտանգի տակ և ռիսկով, և անբավարար իմացության կամ անուշադրության հետևանքները կարող են լինել հետևյալը. համակարգի անկայուն շահագործում, դադարեցնել հավելվածի սխալները, հավելվածի խափանումները:

Սխա՞լ եք գտել: Ընտրեք այն և սեղմեք Ctrl+Enter

Ցույց է տալիս, որ ACTION_BOOT_COMPLETED հաղորդագրությունը ստանալու թեման մնում է ակտուալ մինչ օրս: Ինչպես տեսնում եք, շատ սկսնակներ բախվում են խնդրի հետ, որ իրենց դիմումներում չեն ստանում ACTION_BOOT_COMPLETED հաղորդագրությունը: Այս հոդվածում ես կփորձեմ ամփոփել պաշտոնական փաստաթղթերի տվյալները, stackoverflow.com-ից շատ մշակողների փորձը, ինչպես նաև իմ սեփական փորձը: Այսպիսով, ինչպե՞ս հաղթել «ACTION_BOOT_COMPLETED» կոչվող այս «նենգ թշնամուն»:

1. Տեսություն

Դիտելով օրինակներ պաշտոնական աղբյուրից (օրինակ՝ այս և այս մեկը) և ուսումնասիրելով stackoverflow.com-ի առաջարկությունները՝ կարելի է առանձնացնել հետևյալ կանոնները.
  1. Մանիֆեստում, «մանիֆեստ» տարրում նշեք թույլտվությունը.

  2. Մանիֆեստում, «հավելված» տարրում գրանցեք ձեր ստացողը ACTION_BOOT_COMPLETED հաղորդագրությունը ստանալու համար.


    կամ


    Օգտագործեք ճիշտ լրիվ որակավորված կամ հարաբերական դասի անվանումը ձեր հեռարձակման ընդունիչի համար: Ստացողի նկարագրության մեջ առանց անհրաժեշտության մի նշեք «միացված», «արտահանված» և այլն ատրիբուտները։ Լռելյայն կարգավորումները և ատրիբուտները բավարար են:

  3. Ձեր հեռարձակման ընդունիչ կոդը.

    Հանրային դասի BootCompletedReceiver-ը ընդլայնում է BroadcastReceiver-ը ( public BootCompletedReceiver() ( ) public void onReceive (Համատեքստային համատեքստ, Intent intent) ( if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) ( // ձեր կոդը) այստեղ)
    Եթե ​​ձեր ստացողը օգտագործվում է միայն ACTION_BOOT_COMPLETED հաղորդագրության համար, ապա «եթե» ստուգումը պարտադիր չէ: Այնուամենայնիվ, երբեմն մշակողները օգտագործում են նույն ընդունիչը տարբեր հաղորդագրությունների համար: Այս դեպքում զտեք հաղորդագրությունները՝ ստուգելով դրանք onReceive մեթոդի ներսում:

  4. Հավելվածը պետք է տեղադրվի ներքին հիշողության վրա։ Android ՕՀ-ն նախագծված է այնպես, որ ACTION_BOOT_COMPLETED հաղորդագրությունն ուղարկվում է հավելվածներին՝ նախքան արտաքին հիշողությունը միացնելը: Հետևաբար, արտաքին հիշողության վրա տեղադրված հավելվածները երբեք չեն ստանա այս հաղորդագրությունը: Համակարգին չտեղադրել հավելված արտաքին հիշողության մեջ, պետք չէ մանիֆեստում «@android:installLocation» հատկանիշը դնել «auto» կամ «preferExternal»: Լռելյայնորեն, այսինքն. եթե այս հատկանիշը նշված չէ, ՕՀ-ն ձեր հավելվածը կտեղադրի միայն ներքին հիշողության մեջ: Այնուամենայնիվ, ըստ պաշտոնական փաստաթղթերի, ավելի լավ է հստակորեն նշել «InternalOnly» արժեքը, որպեսզի ապագայում այլ արժեք նշելու գայթակղություն չունենաք դուք և մյուս մշակողները:

  5. Տեղադրումից կամ հարկադիր կանգառից հետո (հարկադիր կանգառ) հավելվածը պետք է գործարկվի առնվազն մեկ անգամ, որպեսզի համակարգը «հիշի» այս հավելվածը՝ նրան ACTION_BOOT_COMPLETED հաղորդագրություն ուղարկելու համար: Այս պահվածքը ներդրվել է Android 3.1-ում՝ անվտանգության նկատառումներից ելնելով: Ո՞րն է իմաստը։ Բոլոր նոր տեղադրված հավելվածները գտնվում են «դադարեցված» վիճակում (չպետք է շփոթել գործունեության հետ, քանի որ ՕՀ-ն կառավարում է այս վիճակը հավելվածների և գործողությունների համար տարբեր ձևերով): Հավելվածը «թողնում» է նույն վիճակին, երբ օգտատերը բռնի դադարեցնում է այն հեռախոսի կարգավորումներում։ Քանի դեռ հավելվածը այս վիճակում է, այն չի գործարկվի համակարգի կողմից որևէ պատճառով (օրինակ՝ ACTION_BOOT_COMPLETED-ի միջոցով), բացառությամբ, իհարկե, եթե այն սկսել է անձամբ օգտատերը: Այս նորամուծության շնորհիվ «վիրուսների ու տրոյանների» մի զգալի մասը դադարեց աշխատել, քանի որ. Տեղադրվելուց հետո այլևս հնարավոր չէ ինքնաբերաբար սկսել:

    Բացառություն են կազմում համակարգի հավելվածները. տես օգտվողին:

  6. Արագ բեռնման ռեժիմի առանձնահատկությունները HTC սարքերում: Հայտնի է, որ HTC սարքերը դասական իմաստով չեն վերաբեռնում, այլ օգտագործում են այսպես կոչված. Արագ բեռնման ռեժիմ (սա ձմեռման ձև է)՝ պահպանելով ՕՀ-ի վիճակը սկավառակի վրա: Հետևաբար, ACTION_BOOT_COMPLETED հաղորդագրությունը չի ուղարկվում համակարգի կողմից, քանի որ ոչ մի վերաբեռնում իրականում տեղի չի ունենում (). ACTION_BOOT_COMPLETED-ի փոխարեն համակարգը կարող է ուղարկել հետևյալ հաղորդագրությունները.


    Ձեր դիմումում ներառեք վերը նշված հաղորդագրությունները, բացի ACTION_BOOT_COMPLETED-ից, «ընդունիչ» թեգում: Բացի այդ, 1-ին կետից բացի անհրաժեշտ է գրանցել թույլտվություն.

2. Պրակտիկա՝ սխալներ և շահագործման առանձնահատկություններ

Եկեք վերլուծենք այն սխալները, որոնք թույլ են տալիս սկսնակները հավելվածը կարգավորելիս և կոդում:

3. Ստացողի վրիպազերծում էմուլյատորում և իրական սարքերում:


Արդյունքներ

Որպեսզի ձեր հավելվածը գործարկվի բեռնման վրա բոլոր սարքերում, մանիֆեստը պետք է առնվազն այսպիսի տեսք ունենա.


Ստացողի կոդը սովորաբար այսպիսի տեսք կունենա.

Հանրային դասի BootCompletedReceiver-ը ընդլայնում է BroadcastReceiver-ը ( public BootCompletedReceiver() ( ) public void onReceive(Համատեքստային համատեքստ, մտադրություն) ( if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) ( Toastma toastT =Atostpplication. ), 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» կոչվող «նենգ թշնամուն»:

 
Հոդվածներ Ըստթեմա:
Ավտոմատ վճարման ծառայություն մեգաֆոն Սբերբանկից Մեգաֆոնի հաշվի ավտոմատ համալրում
Ամենօրյա վազքի ընթացքում կարող է ժամանակ չմնա ձեր բջջային հեռախոսի հաշիվը լրացնելու համար: Արդյունքում մենք ունենք բոլոր հնարավորությունները մնալու առանց հաղորդակցության, այն էլ ամենավճռական պահին։ Եթե ​​դուք չունեք անվճար րոպե գնալու վճարման տերմինալ և
ՄՏՍ-ի սակագին
Մեծ հաշվով, ինձ համար դժվար է մեղադրել նրան, որ ես շատ արագ հրաժեշտ տվեցի 40 UAH գումարին։ Մի կողմից ես աչքաթող արեցի դա։ Բայց մյուս կողմից, օպերատորը օգտագործեց «փոքր տպագրության» կեղծ տեխնիկան, որին ես ընկա: Այսպիսով, հաստատ
Հեռախոսի առանձնահատկությունը
Արագաչափը (կամ G-սենսորը) սարքի դիրքի տվիչ է տիեզերքում: Որպես հիմնական գործառույթ, արագացուցիչն օգտագործվում է էկրանի վրա պատկերի կողմնորոշումը ավտոմատ կերպով փոխելու համար (ուղղահայաց կամ հորիզոնական): Նաև կիրառվում է G սենսոր
Վնասված լազերային սկավառակների վերակենդանացման կոմունալ ծառայություններ
Ցուցադրում է տարբեր տեղեկություններ տեղադրված CD/DVD կրիչների, դրանց բնութագրերի և տարբեր տեսակի լրատվամիջոցներ կարդալու/գրելու ունակության մասին: Բացի այդ, VSO Inspector-ը կարող է սկանավորել սկավառակները սխալների համար և ստուգել դրանց գրված տվյալների ընթեռնելիությունը: Անվճար