למה הזיוף נכבה מעצמו ברקע ב-Xiaomi?

MIUI ו-HyperOS‏ (Xiaomi,‏ Redmi,‏ POCO) סוגרות אפליקציות ברקע באגרסיביות רבה יותר מאחרות. מפעילים הפעלה אוטומטית ל-Mock Location ומסירים את מגבלות הסוללה — האפליקציה מציעה את זה בהפעלה הראשונה.

את הזיוף מחזיק שירות רקע, ו„נכבה מעצמו” כמעט תמיד אומר שהקושחה סגרה אותו. ביומני המערכת זה נראה כעצירה כפויה של התהליך על ידי המערכת, ולא כשגיאה של האפליקציה.

ואז קורה משהו לא מובן מאליו: ספקי הבדיקה נשארים רשומים ב-Android עם הערך האחרון שנכתב, אבל אף אחד לא כותב אליהם קואורדינטות חדשות — התהליך שיצר אותם כבר לא קיים. מבחוץ זה נראה כמו „הזיוף קפא”: הנקודה נשארת אותה נקודה אבל מפסיקה להתעדכן, ואחרי זמן מה המערכת מחזירה את המיקום האמיתי. לכן לעיתים קרובות לא שמים לב לבעיה מיד.

הבעלים של Xiaomi,‏ Redmi ו-POCO נתקלים בזה הכי הרבה: MIUI ו-HyperOS מנהלות תהליכי רקע בקפדנות רבה יותר מאחרות. זה נפתר בשלוש הגדרות — הפעלה אוטומטית, הסרת מגבלות הסוללה ונעילת האפליקציה ברשימת האחרונות; הסבר עם נתיבים מדויקים נמצא במדריך הנפרד ל-Xiaomi. אם עושים רק אחת משלוש, שתהיה ההפעלה האוטומטית: בלעדיה, אחרי סגירת התהליך המערכת לא תחזיר את השירות בכלל, והזיוף לא יחזור עד שפותחים את האפליקציה בעצמך. כשההפעלה האוטומטית פעילה, המערכת מחזירה את השירות תוך שניות, והאפליקציה טוענת את המצב השמור וממשיכה בלי מעורבות שלך.

ב-Samsung הסיבה זהה, אבל המנגנון נקרא „אפליקציות במצב שינה”: One UI מרדים אוטומטית את מה שלא השתמשו בו זמן מה, ואפליקציית זיוף נראית לא פעילה בדיוק כשהטלפון בכיס. הנתיבים ל-One UI נמצאים במדריך ל-Samsung. ב-Huawei וב-Honor מכבים את הניהול האוטומטי של ההפעלה ומפעילים את כל שלושת המתגים — הפעלה אוטומטית, הפעלה משנית והפעלה ברקע; פרטים במדריך ל-Huawei.

מצידה, האפליקציה עושה שני דברים בלתי תלויים. כשפותחים אותה, היא משווה את המצב השמור למצב בפועל, ואם התהליך מת — מחזירה את הזיוף; הדרך הזו עובדת תמיד. בנוסף, טיימר שמירה בודק מדי פעם את המצב ברקע ומנסה לשחזר את השירות בעצמו. אבל לשניהם יש גבול: אם הקושחה אוסרת על האפליקציה לעלות ברקע, אי אפשר להחזיר את השירות בלעדיך — הקוד פשוט לא רץ באותו רגע. לכן אי אפשר להחליף את הגדרות הקושחה בתוכנה.

הדרך הקלה לבדוק את התוצאה היא ההתראה הקבועה בלוח ההתראות: כל עוד היא שם, השירות חי. אם היא נעלמה, המערכת הגיעה אליו בכל זאת, וכדאי לחזור להגדרות שלמעלה.

נשארו שאלות? לכתוב לתמיכה.