Class DynamicStickyService
java.lang.Object
android.content.Context
android.content.ContextWrapper
android.app.Service
android.accessibilityservice.AccessibilityService
com.pranavpandey.android.dynamic.engine.service.DynamicStickyService
- All Implemented Interfaces:
ComponentCallbacks,ComponentCallbacks2
- Direct Known Subclasses:
DynamicEngine
Sticky service which will restart automatically if killed by the system.
Useful in low memory or similar situations where we need to run the service continuously in the background.
-
Nested Class Summary
Nested classes/interfaces inherited from class android.accessibilityservice.AccessibilityService
AccessibilityService.GestureResultCallback, AccessibilityService.MagnificationController, AccessibilityService.ScreenshotResult, AccessibilityService.SoftKeyboardController, AccessibilityService.TakeScreenshotCallbackNested classes/interfaces inherited from class android.content.Context
Context.BindServiceFlags -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longDefault interval after which try to restart the service.Fields inherited from class android.accessibilityservice.AccessibilityService
ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR, ERROR_TAKE_SCREENSHOT_INTERVAL_TIME_SHORT, ERROR_TAKE_SCREENSHOT_INVALID_DISPLAY, ERROR_TAKE_SCREENSHOT_INVALID_WINDOW, ERROR_TAKE_SCREENSHOT_NO_ACCESSIBILITY_ACCESS, ERROR_TAKE_SCREENSHOT_SECURE_WINDOW, GESTURE_2_FINGER_DOUBLE_TAP, GESTURE_2_FINGER_DOUBLE_TAP_AND_HOLD, GESTURE_2_FINGER_SINGLE_TAP, GESTURE_2_FINGER_SWIPE_DOWN, GESTURE_2_FINGER_SWIPE_LEFT, GESTURE_2_FINGER_SWIPE_RIGHT, GESTURE_2_FINGER_SWIPE_UP, GESTURE_2_FINGER_TRIPLE_TAP, GESTURE_2_FINGER_TRIPLE_TAP_AND_HOLD, GESTURE_3_FINGER_DOUBLE_TAP, GESTURE_3_FINGER_DOUBLE_TAP_AND_HOLD, GESTURE_3_FINGER_SINGLE_TAP, GESTURE_3_FINGER_SINGLE_TAP_AND_HOLD, GESTURE_3_FINGER_SWIPE_DOWN, GESTURE_3_FINGER_SWIPE_LEFT, GESTURE_3_FINGER_SWIPE_RIGHT, GESTURE_3_FINGER_SWIPE_UP, GESTURE_3_FINGER_TRIPLE_TAP, GESTURE_3_FINGER_TRIPLE_TAP_AND_HOLD, GESTURE_4_FINGER_DOUBLE_TAP, GESTURE_4_FINGER_DOUBLE_TAP_AND_HOLD, GESTURE_4_FINGER_SINGLE_TAP, GESTURE_4_FINGER_SWIPE_DOWN, GESTURE_4_FINGER_SWIPE_LEFT, GESTURE_4_FINGER_SWIPE_RIGHT, GESTURE_4_FINGER_SWIPE_UP, GESTURE_4_FINGER_TRIPLE_TAP, GESTURE_DOUBLE_TAP, GESTURE_DOUBLE_TAP_AND_HOLD, GESTURE_SWIPE_DOWN, GESTURE_SWIPE_DOWN_AND_LEFT, GESTURE_SWIPE_DOWN_AND_RIGHT, GESTURE_SWIPE_DOWN_AND_UP, GESTURE_SWIPE_LEFT, GESTURE_SWIPE_LEFT_AND_DOWN, GESTURE_SWIPE_LEFT_AND_RIGHT, GESTURE_SWIPE_LEFT_AND_UP, GESTURE_SWIPE_RIGHT, GESTURE_SWIPE_RIGHT_AND_DOWN, GESTURE_SWIPE_RIGHT_AND_LEFT, GESTURE_SWIPE_RIGHT_AND_UP, GESTURE_SWIPE_UP, GESTURE_SWIPE_UP_AND_DOWN, GESTURE_SWIPE_UP_AND_LEFT, GESTURE_SWIPE_UP_AND_RIGHT, GESTURE_UNKNOWN, GLOBAL_ACTION_ACCESSIBILITY_ALL_APPS, GLOBAL_ACTION_ACCESSIBILITY_BUTTON, GLOBAL_ACTION_ACCESSIBILITY_BUTTON_CHOOSER, GLOBAL_ACTION_ACCESSIBILITY_SHORTCUT, GLOBAL_ACTION_BACK, GLOBAL_ACTION_DISMISS_NOTIFICATION_SHADE, GLOBAL_ACTION_DPAD_CENTER, GLOBAL_ACTION_DPAD_DOWN, GLOBAL_ACTION_DPAD_LEFT, GLOBAL_ACTION_DPAD_RIGHT, GLOBAL_ACTION_DPAD_UP, GLOBAL_ACTION_HOME, GLOBAL_ACTION_KEYCODE_HEADSETHOOK, GLOBAL_ACTION_LOCK_SCREEN, GLOBAL_ACTION_MEDIA_PLAY_PAUSE, GLOBAL_ACTION_MENU, GLOBAL_ACTION_NOTIFICATIONS, GLOBAL_ACTION_POWER_DIALOG, GLOBAL_ACTION_QUICK_SETTINGS, GLOBAL_ACTION_RECENTS, GLOBAL_ACTION_TAKE_SCREENSHOT, GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN, SERVICE_INTERFACE, SERVICE_META_DATA, SHOW_MODE_AUTO, SHOW_MODE_HIDDEN, SHOW_MODE_IGNORE_HARD_KEYBOARDFields inherited from class android.app.Service
START_CONTINUATION_MASK, START_FLAG_REDELIVERY, START_FLAG_RETRY, START_NOT_STICKY, START_REDELIVER_INTENT, START_STICKY, START_STICKY_COMPATIBILITY, STOP_FOREGROUND_DETACH, STOP_FOREGROUND_LEGACY, STOP_FOREGROUND_REMOVEFields inherited from class android.content.Context
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ADVANCED_PROTECTION_SERVICE, ALARM_SERVICE, APP_FUNCTION_SERVICE, APP_OPS_SERVICE, APP_SEARCH_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_ACTIVITY_STARTS, BIND_ALLOW_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_EXTERNAL_SERVICE_LONG, BIND_IMPORTANT, BIND_INCLUDE_CAPABILITIES, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, BIND_PACKAGE_ISOLATED_PROCESS, BIND_SHARED_ISOLATED_PROCESS, BIND_WAIVE_PRIORITY, BIOMETRIC_SERVICE, BLOB_STORE_SERVICE, BLUETOOTH_SERVICE, BUGREPORT_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_DIAGNOSTICS_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTACT_KEYS_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CREDENTIAL_SERVICE, CROSS_PROFILE_APPS_SERVICE, DEVICE_ID_DEFAULT, DEVICE_ID_INVALID, DEVICE_LOCK_SERVICE, DEVICE_POLICY_SERVICE, DISPLAY_HASH_SERVICE, DISPLAY_SERVICE, DOMAIN_VERIFICATION_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, EUICC_SERVICE, FILE_INTEGRITY_SERVICE, FINGERPRINT_SERVICE, GAME_SERVICE, GRAMMATICAL_INFLECTION_SERVICE, HARDWARE_PROPERTIES_SERVICE, HEALTHCONNECT_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, KEYSTORE_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCALE_SERVICE, LOCATION_SERVICE, MEDIA_COMMUNICATION_SERVICE, MEDIA_METRICS_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_QUALITY_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MIDI_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NETWORK_STATS_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, OVERLAY_SERVICE, PEOPLE_SERVICE, PERFORMANCE_HINT_SERVICE, PERSISTENT_DATA_BLOCK_SERVICE, POWER_SERVICE, PRINT_SERVICE, PROFILING_SERVICE, RECEIVER_EXPORTED, RECEIVER_NOT_EXPORTED, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, ROLE_SERVICE, SATELLITE_SERVICE, SEARCH_SERVICE, SECURITY_STATE_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STATUS_BAR_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_IMS_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TETHERING_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_AD_SERVICE, TV_INPUT_SERVICE, TV_INTERACTIVE_APP_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_MANAGER_SERVICE, VIBRATOR_SERVICE, VIRTUAL_DEVICE_SERVICE, VPN_MANAGEMENT_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_SERVICE, WINDOW_SERVICEFields inherited from interface android.content.ComponentCallbacks2
TRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected longGet the restart interval after which try to restart the service.voidprotected voidonAccessibilityStateChanged(boolean enabled) Called back on change in the accessibility state.voidonCreate()voidprotected voidintonStartCommand(Intent intent, int flags, int startId) Methods inherited from class android.accessibilityservice.AccessibilityService
attachAccessibilityOverlayToDisplay, attachAccessibilityOverlayToWindow, clearCache, clearCachedSubtree, createDisplayContext, createWindowContext, createWindowContext, disableSelf, dispatchGesture, findFocus, getAccessibilityButtonController, getAccessibilityButtonController, getBrailleDisplayController, getFingerprintGestureController, getInputMethod, getMagnificationController, getRootInActiveWindow, getRootInActiveWindow, getServiceInfo, getSoftKeyboardController, getSystemActions, getSystemService, getTouchInteractionController, getWindows, getWindowsOnAllDisplays, isCacheEnabled, isNodeInCache, onBind, onCreateInputMethod, onGesture, onGesture, onKeyEvent, onMotionEvent, onSystemActionsChanged, performGlobalAction, setAccessibilityFocusAppearance, setAnimationScale, setCacheEnabled, setGestureDetectionPassthroughRegion, setServiceInfo, setTouchExplorationPassthroughRegion, takeScreenshot, takeScreenshotOfWindowMethods inherited from class android.app.Service
attachBaseContext, dump, getApplication, getForegroundServiceType, onConfigurationChanged, onDestroy, onLowMemory, onRebind, onStart, onTaskRemoved, onTimeout, onTimeout, onTrimMemory, onUnbind, startForeground, startForeground, stopForeground, stopForeground, stopSelf, stopSelf, stopSelfResultMethods inherited from class android.content.ContextWrapper
bindIsolatedService, bindService, bindService, bindService, bindService, bindServiceAsUser, bindServiceAsUser, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingOrSelfUriPermissions, checkCallingPermission, checkCallingUriPermission, checkCallingUriPermissions, checkContentUriPermissionFull, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, checkUriPermissions, clearWallpaper, createAttributionContext, createConfigurationContext, createContext, createContextForSplit, createDeviceContext, createDeviceProtectedStorageContext, createPackageContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getAttributionSource, getAttributionTag, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDeviceId, getDir, getDisplay, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getParams, getResources, getSharedPreferences, getSystemServiceName, getTheme, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, isUiContext, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerComponentCallbacks, registerDeviceIdChangeListener, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeSelfPermissionsOnKill, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setTheme, setWallpaper, setWallpaper, startActivities, startActivities, startActivity, startActivity, startForegroundService, startInstrumentation, startIntentSender, startIntentSender, startService, stopService, unbindService, unregisterComponentCallbacks, unregisterDeviceIdChangeListener, unregisterReceiver, updateServiceGroupMethods inherited from class android.content.Context
bindIsolatedService, getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, revokeSelfPermissionOnKill, sendBroadcastWithMultiplePermissions
-
Field Details
-
ADE_DEFAULT_RESTART_INTERVAL
public static final long ADE_DEFAULT_RESTART_INTERVALDefault interval after which try to restart the service.- See Also:
-
-
Constructor Details
-
DynamicStickyService
public DynamicStickyService()
-
-
Method Details
-
onCreate
public void onCreate() -
onStartCommand
- Overrides:
onStartCommandin classService
-
getRestartInterval
protected long getRestartInterval()Get the restart interval after which try to restart the service.Override this method in the extended class to change the default interval.
- Returns:
- The interval in milliseconds after which service will be restarted.
- See Also:
-
onAccessibilityEvent
- Specified by:
onAccessibilityEventin classAccessibilityService
-
onServiceConnected
protected void onServiceConnected()- Overrides:
onServiceConnectedin classAccessibilityService
-
onInterrupt
public void onInterrupt()- Specified by:
onInterruptin classAccessibilityService
-
onAccessibilityStateChanged
protected void onAccessibilityStateChanged(boolean enabled) Called back on change in the accessibility state.- Parameters:
enabled- Whether accessibility is enabled.
-