שיתוף | להגביל מכשיר אנדרואיד לכמה אפליקציות בלבד - האפליקצייה החדשה שלי
-
שלום לכולם,
קודם כל, לא, אני מטצער, זה לא גרסה 1.0 של קיידרואיד, והאמת שזה כמעט ולא קשור לקיידרואיד (חוץ מהשם אבל לא מצאתי לו משהו אחר מקיידרואיד קיוסק) , אוקיי אתחיל עם הקונטקסט של הדברים, ולמי שזה לא מעניין אותו, ישידלג ישיר לקטע הבה. אבל בעצם, אני ב"ה כמעט סיימתי את המודול של הויפיאן של קיידרואיד 1.0 וכל מה שקשור לסינון של התוכן (שזה לדעתי החלק ההכי קשה) ועכשיו (לפני כ-3 שבועות בערך), הייתי צריך להתחיל את האפליקצייה, כולל כל הממשק, הסינכרון עם השרת וכו וכו, שזה בעצם אפליקצייה סנטדרטית לחלוטין, אך היה לי שאלה שהרבה זמן אני חושב עליה, איזה ארכיטקטורה של אפליקציה אני אבחר... והגעתי למסקנה שבשביל קיידרואיד, ההכי טוב יהיה שילוב של כמה ביחד (למי שזה מעניין, שילוב של Feature-based + Clean + MVVM וכמובן DI עם Koin, אבל לא באתי לדבר על פן הטכני), אבל הייתה לי בעייה שאף פעם לא בניתי אפליקצייה עם 3 ביחד, ולהתחיל עם קיידראויד בלי להתנסות על משהו, לא רציתי, לכן חיפשתי פרוייקט קטן כדי לנסות את השילוב הזה והאם באמת הוא יתאים.
ואז אני רואה את הפוסט הזה, אמרתי לעצמי שזה יכול להיות מעולה, כי אני אוכל לבדוק את הארכיטקטורה וגם אוכל לבדוק אחד מההגנות של קיידרואיד נגד מי שיעשה רוט עם קיידרואיד מותקן, שזה בעצם מצב שיחסום לגמרי את הגישה לממשק של המכשיר ואפילו הכפתורים למטה עם הודעה נחמדה שהמכשיר חסום כל עוד שיש למכשיר רוט. (באמת הכזבו אותי כל אלו שלא עשו התקנה כראוי ולכלכו אח"כ בפומבי על קידירואיד ), זה לקח שבוע אוליי עד שהתחלתי בפועל, עד שסגרנו עם בעל הפוסט וכו, והוא קיבל גרסה ראשונית שעובדת אבל היום אני מפרסם אותה עם קצת תיקונים.אוקיי, אז מה זה, אני פשוט עשיתי ממשק כדי לבחור איזה אפליקציות להשאיר , וגם הוספתי כמה דברים נחמדים כמו לאשר לאיזה אפליקציות יהיה חיבור לרשת וממשק די נחמד אף שהוא לא כ"כ מושקע, כמובן שזה לא חוסם דפדפן מובנה, זה חסימה שעובדת לפי אפליקציות בלבד, עם חומת אש שניתן לבחור לאיזה אפליקציות יהיה חיבור לרשת, יש גם הגנה נגד איפוס על המכשיר, לכן שמו לב לזה. הנה כמה צילומי מסך :
וגם על טאבלט :
ניתן לנסות את האפליקצייה אך חשוב לדעת שכל עוד שלא הפעלתי את המכשיר, ניתן להוריד את החסימה ללא סיסמה, ולמי שרוצה שאני אפעיל אותו, שינסה ויפנה אליי באופן אישי.
אז הנה הקובץ : com.kdroid.kiosk(0.8.1)-release.zip
כמובן צריך מחשב עם ADB, למחוק את כל החשבונות על המכשיר ולהפעיל אותה עם הפקודה הבא :
adb shell dpm set-device-owner com.kdroid.kiosk/.framework.managers.dpm.DpmReceiver
אוקיי זהו להיום !
בברכה
זה הרבה קוד בשביל אפליקצייה כ"כ קטנה, ממש ארכיטקטורה לא מתאימה לפרוייקט קטן כזה├── core
│ ├── data
│ │ ├── local
│ │ │ └── PreferencesRepository.kt
│ │ ├── preview
│ │ │ └── FakeData.kt
│ │ └── remote
│ │ └── checkIfDeviceIsAuthorized.kt
│ ├── domain
│ │ ├── allowedapplications
│ │ │ └── AllowedApplicationsRepository.kt
│ │ ├── managers
│ │ │ └── license
│ │ │ ├── LicenseManagerImpl.kt
│ │ │ └── LicenseManager.kt
│ │ └── utils
│ │ └── Hash.kt
│ └── presentation
│ ├── components
│ │ ├── AppIcon.kt
│ │ ├── BrightnessControl.kt
│ │ ├── CenteredTitle.kt
│ │ ├── Clock.kt
│ │ ├── CodeBlock.kt
│ │ ├── ConfigScaffold.kt
│ │ ├── GeneralAppBar.kt
│ │ ├── HebrewDate.kt
│ │ ├── InstallationStepper.kt
│ │ ├── InstallerConfirmButton.kt
│ │ ├── PasswordDialog.kt
│ │ ├── PasswordField.kt
│ │ ├── ResponsiveScreen.kt
│ │ └── WarningInfo.kt
│ ├── events
│ │ ├── SnackbarEventHandler.kt
│ │ └── SnackbarEvent.kt
│ ├── navigation
│ │ ├── AppNavHost.kt
│ │ ├── NavGraph.kt
│ │ ├── NavState.kt
│ │ ├── NavTransition.kt
│ │ └── NavViewModel.kt
│ └── theme
│ ├── Color.kt
│ ├── Theme.kt
│ └── Type.kt
├── features
│ ├── config
│ │ ├── allowedappsconfig
│ │ │ ├── AllowedAppsConfigEvent.kt
│ │ │ ├── AllowedAppsConfigScreen.kt
│ │ │ ├── AllowedAppsConfigState.kt
│ │ │ └── AllowedAppsConfigViewModel.kt
│ │ ├── ConfigurationItems.kt
│ │ ├── dpmconfig
│ │ │ ├── components
│ │ │ │ └── DisclaimerDialog.kt
│ │ │ ├── DpmConfigEvents.kt
│ │ │ ├── DpmConfigScreen.kt
│ │ │ ├── DpmConfigState.kt
│ │ │ └── DpmConfigViewModel.kt
│ │ ├── networkconfig
│ │ │ ├── NetworkConfigEvent.kt
│ │ │ ├── NetworkConfigRepository.kt
│ │ │ ├── NetworkConfigScreen.kt
│ │ │ ├── NetworkConfigState.kt
│ │ │ └── NetworkConfigViewmodel.kt
│ │ ├── passwordconfig
│ │ │ ├── PasswordConfigEvents.kt
│ │ │ ├── PasswordConfigScreen.kt
│ │ │ ├── PasswordConfigState.kt
│ │ │ └── PasswordConfigViewModel.kt
│ │ └── restrictionsconfig
│ │ ├── RestrictionsConfigEvents.kt
│ │ ├── RestrictionsConfigRepository.kt
│ │ ├── RestrictionsConfigScreen.kt
│ │ ├── RestrictionsConfigState.kt
│ │ ├── RestrictionsConfigViewModel.kt
│ │ └── RestrictionsItems.kt
│ ├── home
│ │ ├── components
│ │ │ ├── batteryindicator
│ │ │ │ ├── BatteryLevel.kt
│ │ │ │ ├── BatteryLevelState.kt
│ │ │ │ └── BatteryLevelViewModel.kt
│ │ │ └── NavigationItems.kt
│ │ ├── HomeEvents.kt
│ │ ├── HomeScreen.kt
│ │ ├── HomeScreenState.kt
│ │ └── HomeScreenViewModel.kt
│ ├── loading
│ │ └── Loading.kt
│ └── settings
│ ├── SettingsScreenEvent.kt
│ ├── SettingsScreen.kt
│ ├── SettingsScreenViewModel.kt
│ └── SettingsState.kt
├── framework
│ ├── di
│ │ └── AppModule.kt
│ ├── managers
│ │ ├── applications
│ │ │ ├── manager
│ │ │ │ ├── ApplicationManagerImpl.kt
│ │ │ │ ├── ApplicationManager.kt
│ │ │ │ └── ApplicationModel.kt
│ │ │ └── receiver
│ │ │ └── ApplicationInstallationReceiver.kt
│ │ ├── batterylevel
│ │ │ ├── BatteryLevelManagerImpl.kt
│ │ │ └── BatteryLevelManager.kt
│ │ ├── dpm
│ │ │ ├── DeviceOwnerConstants.kt
│ │ │ ├── DpmManagerImpl.kt
│ │ │ ├── DpmManager.kt
│ │ │ ├── DpmReceiver.kt
│ │ │ └── FrpManager.kt
│ │ └── systemsettings
│ │ └── SystemSettingsManager.kt
│ ├── receiver
│ │ └── BootReceiver.kt
│ └── services
│ ├── BackgroundServices.kt
│ ├── FakeVpnService.kt
│ ├── ServicesStarterOnBoot.kt
│ └── utils
│ └── ServicesUtils.kt
├── MainActivity.kt
└── MainApplication.kt41 directories, 89 files
@לא-מתייאש אפשר הסבר לגבי כל אחד מהסמלים האלו?
-
-
ל למה באתי התייחס לנושא זה
-
-
@לא-מתייאש אפשר הסבר לגבי כל אחד מהסמלים האלו?
וויפיי, בלוטוס, בהירות, פנס, מיקום, פרופיל (שקט / רטט...)
זה במקום הסטטוס בר (וילון התראות)