דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. אנדרואיד - כללי
  3. בניית ופיתוח אפליקציות
  4. עזרה הדדית - בניית ופיתוח אפליקציות
  5. עזרה | LogicGate - מתזמן משימות מקצועי - דרוש עזרה

עזרה | LogicGate - מתזמן משימות מקצועי - דרוש עזרה

מתוזמן נעוץ נעול הועבר עזרה הדדית - בניית ופיתוח אפליקציות
12 פוסטים 3 כותבים 109 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • צדיק 0צ צדיק 0

    @איש-אמת אני מנסה להבין מה עשית כדי שזה יהיה אמור לעבוד ברקע...
    נראה שהגדרת חלון צף שקוף. נכון? א"כ צריך לוודא שנתת הרשאה לתצוגה מעל יישומים (זה אמור גם איכשהוא לעזור למסך כבוי כמדומני)
    לגבי כשהאפליקציה סגורה ברקע צריך שיהיה מוגדר בלי אופטימיזציה של סוללה
    אני עדיין מנסה להבין בדיוק מה מה מעיר אותו אחרי הפעלה מחדש של המכשיר

    אפרופו AI זו חוות דעתו של קלוד

    ● עכשיו יש לי תמונה מלאה. יש 3 סיבות עיקריות לבעיות, כל אחת קשורה לתרחיש שאחר:
    
      ---
      1. מסך כבוי - Doze Mode
    
      הבעיה: הלב הפועם של הסרוויס הוא ACTION_TIME_TICK (שידור כל דקה). אבל Android
      לא שולח אותו כאשר המסך כבוי ואין טעינה - זה נקרא Doze mode. הוא פשוט מפסיק
      להגיע.
    
      נמצא בקוד:
      // ExecutionService.kt:159
      Intent.ACTION_TIME_TICK -> scheduleBaseCompiledEval()
    
      גם ה-WebView מקפיא ביצוע JavaScript ברקע כברירת מחדל. יש בקוד ניסיון לפתור את
      זה עם חלון overlay שקוף של 1-4px:
    
      // ExecutionService.kt:532-534
      private fun shouldHostWebViewInOverlay(): Boolean =
          Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
              android.provider.Settings.canDrawOverlays(this)
    
      אם המשתמש לא אישר SYSTEM_ALERT_WINDOW (הרשאת "הצג על אפליקציות אחרות"),
      ה-WebView נוצר ללא overlay ו-JavaScript לא רץ כשהאפליקציה ברקע.
    
      ---
      2. אפליקציה נהרגת ברקע
    
      הסרוויס מחזיר START_STICKY - אמור לגרום לאנדרואיד להפעיל אותו מחדש. יש גם
      EngineHealthWorker שבודק כל 15 דקות. אבל:
    
      - בצמצום סוללה: אם המשתמש לא אישר פטור מאופטימיזציית סוללה
      (REQUEST_IGNORE_BATTERY_OPTIMIZATIONS), הסרוויס ייהרג. ה-MainActivity מציג
      דיאלוג לכך בכל onResume(), אבל זה רק בקשה — אם לא אישרו, הכל נשבר.
      - OEMs אגרסיביים (Samsung, Xiaomi, Huawei): יש להם מנגנוני הריגה מעבר ל-AOSP
      שלא נלקחים בחשבון בקוד.
      - פרק הזמן עד הכיבוי לחידוש: ה-WorkManager יכול לקחת עד 15 דקות להפעיל מחדש.
      במהלך הזמן הזה - שקט.
    
      ---
      3. אחרי הפעלה מחדש
    
      ה-BootReceiver מטפל בזה ומוגדר נכון במניפסט, אבל יש בעיה ב-Android 12+:
    
      SCHEDULE_EXACT_ALARM הוא הרשאה שדורשת אישור מפורש של המשתמש בהגדרות (לא
      auto-granted). בלעדיה, על Android 12+ ה-AlarmManager משתמש
      ב-setAndAllowWhileIdle (לא מדויק) - הטריגרים מבוססי שעה יכולים לאחר בשעות.
    
      // TimeTriggerScheduler.kt:107-109
      if (am.canScheduleExactAlarms()) {
          am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, triggerAt, pi)
      } else {
          am.setAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, triggerAt, pi) // לא
      מדויק
      }
    
      גם אחרי reboot, EngineHealthScheduler.schedule() מופעל
      מ-LogicGateApplication.onCreate() - אבל WorkManager כבר שומר את המשימה בין
      reboots, אז זה OK.
    
      ---
      סיכום - מה צריך לבדוק
    
      ┌────────────────┬─────────────────────────────────────────────────────────┐
      │      בעיה      │                     מה לבדוק במכשיר                     │
      ├────────────────┼─────────────────────────────────────────────────────────┤
      │ מסך כבוי       │ האם אישרת "הצג על אפליקציות אחרות"                      │
      │                │ (SYSTEM_ALERT_WINDOW)                                   │
      ├────────────────┼─────────────────────────────────────────────────────────┤
      │ נהרג ברקע      │ האם אישרת פטור מאופטימיזציית סוללה (Doze exemption)     │
      ├────────────────┼─────────────────────────────────────────────────────────┤
      │ Android 12+    │ האם אישרת "Set exact alarms" בהגדרות האפליקציה          │
      ├────────────────┼─────────────────────────────────────────────────────────┤
      │ Samsung/Xiaomi │ הגדרות ייחודיות: "Battery > Never sleeping apps" /      │
      │                │ "AutoStart"                                             │
      └────────────────┴─────────────────────────────────────────────────────────┘
    
      איזה מכשיר וגרסת Android? זה יעזור לצמצם את הבעיה הספציפית אצלך.
    
    

    איש אמתא מנותק
    איש אמתא מנותק
    איש אמת
    מדריכים
    כתב נערך לאחרונה על ידי איש אמת
    #3

    @צדיק-0 כתב בעזרה | LogicGate - מתזמן משימות מקצועי - דרוש עזרה:

    נראה שהגדרת חלון צף שקוף. נכון? א"כ צריך לוודא שנתת הרשאה לתצוגה מעל יישומים (זה אמור גם איכשהוא לעזור למסך כבוי כמדומני)
    לגבי כשהאפליקציה סגורה ברקע צריך שיהיה מוגדר בלי אופטימיזציה של סוללה

    הענקתי לאפליקציה את ההרשאות האלו אבל בכל זאת התהליך נהרג. (אגב החלון צף זה יותר בשביל שהמנוע js לא יסגר)

    לגבי ההתעוררות אחרי הפעלה מחדש - יש לי BootReceiver שהוא אמור לדאוג לזה.
    לגבי החוות דעת של קלוד הבנתי משם רק בעיה 1 ש ACTION_TIME_TICK לא משדר במסך כבוי, האומנם?! איך מקרודרואיד תופסת פעילויות?

    אני יודע שאני חושב שאני יודע.

    צדיק 0צ תגובה 1 תגובה אחרונה
    0
    • איש אמתא איש אמת

      @צדיק-0 כתב בעזרה | LogicGate - מתזמן משימות מקצועי - דרוש עזרה:

      נראה שהגדרת חלון צף שקוף. נכון? א"כ צריך לוודא שנתת הרשאה לתצוגה מעל יישומים (זה אמור גם איכשהוא לעזור למסך כבוי כמדומני)
      לגבי כשהאפליקציה סגורה ברקע צריך שיהיה מוגדר בלי אופטימיזציה של סוללה

      הענקתי לאפליקציה את ההרשאות האלו אבל בכל זאת התהליך נהרג. (אגב החלון צף זה יותר בשביל שהמנוע js לא יסגר)

      לגבי ההתעוררות אחרי הפעלה מחדש - יש לי BootReceiver שהוא אמור לדאוג לזה.
      לגבי החוות דעת של קלוד הבנתי משם רק בעיה 1 ש ACTION_TIME_TICK לא משדר במסך כבוי, האומנם?! איך מקרודרואיד תופסת פעילויות?

      צדיק 0צ מנותק
      צדיק 0צ מנותק
      צדיק 0
      מדריכים
      כתב נערך לאחרונה על ידי
      #4

      @איש-אמת כתב בעזרה | LogicGate - מתזמן משימות מקצועי - דרוש עזרה:

      (אגב החלון צף זה יותר בשביל שהמנוע js לא יסגר)

      למה לא להריץ JS ישר בלי להריץ WebView ?

      איש אמתא תגובה 1 תגובה אחרונה
      0
      • צדיק 0צ צדיק 0

        @איש-אמת כתב בעזרה | LogicGate - מתזמן משימות מקצועי - דרוש עזרה:

        (אגב החלון צף זה יותר בשביל שהמנוע js לא יסגר)

        למה לא להריץ JS ישר בלי להריץ WebView ?

        איש אמתא מנותק
        איש אמתא מנותק
        איש אמת
        מדריכים
        כתב נערך לאחרונה על ידי איש אמת
        #5

        @צדיק-0 ה WebView הוא בשביל הבלוקים שיהיה סיוט לעצב אותם ללא שימוש ב WebView אבל בהחלט נראה לי שאפשר אחרי סיום התכנות בבלוקים ליצא את הקוד ולהריץ אותו דרך האפליקציה, אבל לא נראה לי שזה מה שיעזור

        אני יודע שאני חושב שאני יודע.

        צדיק 0צ תגובה 1 תגובה אחרונה
        0
        • איש אמתא איש אמת

          @צדיק-0 ה WebView הוא בשביל הבלוקים שיהיה סיוט לעצב אותם ללא שימוש ב WebView אבל בהחלט נראה לי שאפשר אחרי סיום התכנות בבלוקים ליצא את הקוד ולהריץ אותו דרך האפליקציה, אבל לא נראה לי שזה מה שיעזור

          צדיק 0צ מנותק
          צדיק 0צ מנותק
          צדיק 0
          מדריכים
          כתב נערך לאחרונה על ידי
          #6

          @איש-אמת כתב בעזרה | LogicGate - מתזמן משימות מקצועי - דרוש עזרה:

          @צדיק-0 ה WebView הוא בשביל הבלוקים שיהיה סיוט לעצב אותם ללא שימוש ב WebView אבל בהחלט נראה לי שאפשר אחרי סיום העיצוב בבלוקים ליצא את הקוד ולהריץ אותו דרך האפליקציה, אבל לא נראה לי שזה מה שיעזור

          שומע, הידע שלי בJS מצומצם. ולהריץ על זה AI גם אתה יכול.
          אז אני אפנה את מקומי לכאלו שמבינים יותר

          תגובה 1 תגובה אחרונה
          1
          • איש אמתא איש אמת

            Disclaimer

            האפליקציה נכתבה בעזרת ai

            Prologue

            היי כולנו מכירים את מקרודרואיד ( MacroDroid ) והאמת שלא יצא לי להתעסק בו הרבה אבל במעט, ראיתי שקשה לבצע בו משימות שהם טיפה מעבר לסטנדרט (לולאות רשימות שמסתנכרנות עם וכו...)
            אז חשבתי שבתור פרויקט פסח אני יעבוד על פרויקט שיקל על המלאכה. הפשלתי שרוולים למדתי כמה דברים בדרך והגעתי לפיתוח שהוא רחוק ממושלם אך עובד.
            אני מעלה אותו לכאן, תבדקו ותגידו לי האם זה עובד אצלכם והאם שווה לבזבז על זה את שארית הבין הזמנים.
            תודה מראש למשתפי הפעולה...

            Overview

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

            אדהכי והכי אני לא מצליח לגרום לזה לפעול ברקע כל הזמן (גם אחרי הפעלה מחדש וגם בכיבוי מסך וסגירת האפליקציה) מי שיש לו ידע איך לעזור לי תבוא עליו הברכה.

            להורדה
            להורדה למנוטפרים
            להורדת הפרויקט

            Screenshot_20260328-213908.png Screenshot_20260328-213828.png Screenshot_20260328-213821.png

            S מנותק
            S מנותק
            SHIMI 0
            כתב נערך לאחרונה על ידי
            #7

            @איש-אמת
            זה אמור לעבוד ללא אינטרנט

            איש אמתא תגובה 1 תגובה אחרונה
            0
            • S SHIMI 0

              @איש-אמת
              זה אמור לעבוד ללא אינטרנט

              איש אמתא מנותק
              איש אמתא מנותק
              איש אמת
              מדריכים
              כתב נערך לאחרונה על ידי
              #8

              @SHIMI-0 כן, זה ללא רשת בכלל, הוא כנראה כן ידרוש הרשאות בשביל לנהל את הבלוקים הקשורים לרשת למשתמשים החפצים, אבל הוא לא שולח או לוקח מידע מהרשת כלל

              אני יודע שאני חושב שאני יודע.

              S תגובה 1 תגובה אחרונה
              1
              • איש אמתא איש אמת

                @SHIMI-0 כן, זה ללא רשת בכלל, הוא כנראה כן ידרוש הרשאות בשביל לנהל את הבלוקים הקשורים לרשת למשתמשים החפצים, אבל הוא לא שולח או לוקח מידע מהרשת כלל

                S מנותק
                S מנותק
                SHIMI 0
                כתב נערך לאחרונה על ידי
                #9

                @איש-אמת זה לא עובד לי הורדתי זה עושה לי האפליקציה לא הותקנה באנדרואיד10

                איש אמתא תגובה 1 תגובה אחרונה
                0
                • S SHIMI 0

                  @איש-אמת זה לא עובד לי הורדתי זה עושה לי האפליקציה לא הותקנה באנדרואיד10

                  איש אמתא מנותק
                  איש אמתא מנותק
                  איש אמת
                  מדריכים
                  כתב נערך לאחרונה על ידי
                  #10

                  @SHIMI-0 אני אבדוק יותר מאוחר מה הסיפור (אולי שמתי מקס׳ 8?)

                  אני יודע שאני חושב שאני יודע.

                  S תגובה 1 תגובה אחרונה
                  0
                  • איש אמתא איש אמת

                    @SHIMI-0 אני אבדוק יותר מאוחר מה הסיפור (אולי שמתי מקס׳ 8?)

                    S מנותק
                    S מנותק
                    SHIMI 0
                    כתב נערך לאחרונה על ידי
                    #11

                    @איש-אמת אני עושה את זה בישבילך

                    S תגובה 1 תגובה אחרונה
                    1
                    • S SHIMI 0

                      @איש-אמת אני עושה את זה בישבילך

                      S מנותק
                      S מנותק
                      SHIMI 0
                      כתב נערך לאחרונה על ידי SHIMI 0
                      #12

                      אני פותח מיד קופץ
                      האפליקציה נאצרת שוב ושוב

                      תגובה 1 תגובה אחרונה
                      1

                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • חוקי הפורום
                      • פופולרי
                      • לא נפתר
                      • משתמשים
                      • חיפוש גוגל בפורום
                      • צור קשר