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.TakeScreenshotCallback
Nested classes/interfaces inherited from class android.content.Context
Context.BindServiceFlags
-
Field Summary
Modifier and TypeFieldDescriptionstatic final long
Default 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_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_KEYBOARD
Fields 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_REMOVE
Fields inherited from class android.content.Context
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_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, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCALE_SERVICE, LOCATION_SERVICE, MEDIA_COMMUNICATION_SERVICE, MEDIA_METRICS_SERVICE, MEDIA_PROJECTION_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, 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, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_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_SERVICE
Fields 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
-
Method Summary
Modifier and TypeMethodDescriptionprotected long
Get the restart interval after which try to restart the service.void
protected void
onAccessibilityStateChanged
(boolean enabled) Called back on change in the accessibility state.void
onCreate()
void
protected void
int
onStartCommand
(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, takeScreenshotOfWindow
Methods 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, stopSelfResult
Methods 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, updateServiceGroup
Methods 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:
onStartCommand
in 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:
onAccessibilityEvent
in classAccessibilityService
-
onServiceConnected
protected void onServiceConnected()- Overrides:
onServiceConnected
in classAccessibilityService
-
onInterrupt
public void onInterrupt()- Specified by:
onInterrupt
in classAccessibilityService
-
onAccessibilityStateChanged
protected void onAccessibilityStateChanged(boolean enabled) Called back on change in the accessibility state.- Parameters:
enabled
- Whether accessibility is enabled.
-