android-background-execution
Expert guidance on implementing and managing background tasks in modern Android applications (API 30+).
Skill by prasad-vennam
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/prasad-vennam-android-background-execution
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/android-background-execution
What's inside
- Skill name
android-background-execution- Description
- Expert guidance on implementing and managing background tasks in modern Android applications (API 30+).
- License
- MIT
- Instructions
- 125 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Android Background Execution Skill
This skill provides a structured approach to implementing background work in Android, ensuring high performance, battery efficiency, and compliance with modern system restrictions (API 30 and above).
## When to Use
- Implementing deferred tasks (e.g., database sync, log uploading).
- Running immediate, user-perceivable tasks (e.g., media playback, active navigation).
- Scheduling time-sensitive actions (e.g., calendar reminders, exact alarms).
- Navigating background execution limits and battery optimization (Doze Mode).
## 🛠 Core Technologies
### 1. WorkManager (Recommended)
Use for **persistent, deferrable work** that must execute even if the app exits or the device restarts.
- **Immediate**: Tasks that should start as soon as possible (can use `setExpedited(true)`).
- **Long-Running**: Tasks that might run longer than 10 minutes (API 31+ requires a Foreground Service).
- **Periodic**: Recurring tasks (minimum 15-minute interval).
### 2. Foreground Services
Use for **immediate, user-visible work** that is the primary focus of the app (e.g., Music Player, Step Tracker).
- Must show a persistent notification.
- From API 34+, you must declare a `foregroundServiceType` in the manifest.
### 3. Alarms (`AlarmManager`)
Use for **exact, time-based scheduling**.
- Avoid for general background work to save battery.
- `setExactAndAllowWhileIdle()` is for high-precision needs (e.g., clocks).
---
## 🚀 Implementation Workflow
### 1. Choose the Right Tool
| Requirement | Recommended Tool |
| :--- | :--- |
| Deferrable, restart-resilient | `WorkManager` (OneTime/Periodic) |
| Immediate, continues when app is closed | `WorkManager` (Expedited) |
| User-visible, real-time | `Foreground Service` |
| Specific clock time (e.g. 8:00 AM) | `AlarmManager` |
### 2. Implementation Patterns
#### WorkManager (Kotlin)
```kotlin
class SyncWorker(context: Context, params: WorkerParameters) : CoroutineWorker(context, params) {
override suspend fun doWork(): Result {
return try {
// Background logic here
Result.success()
} catch (e: Exception) {
if (runAttemptCount < 3) Result.retry() else Result.failure()
}
}
}
```
// Enqueueing
```kotlin
val constraints = Constraints.Builder()
.setRequiredNetworkType(NetworkType.CONNECTED)
.setRequiresBatteryNotLow(true)
.build()
val syncRequest = OneTimeWorkRequestBuilder<SyncWorker>()
.setConstraints(constraints)
.setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 1, TimeUnit.MINUTES)
.build()
WorkManager.getInstance(context).enqueue(syncRequest)
```
#### Foreground Service (API 34+)
1. **Manifest Declaration**:
```xml
<service
android:name=".MyService"
android:foregroundServiceType="dataSync" />
```
2. **Service Implementation**:
```kotlin
class MyService : Service() {
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
val notification = NotificationCompat.Builder(this, CHANNEL_ID)
.setContentTitle("Syncing Data")
.setSmallIcon(R.drawable.ic_sync)
.build()
ServiceCompat.startForeground(this, 1, notification, FOREGROUND_SERVICE_TYPE_DATA_SYNC)
// logic...
return START_NOT_STICKY
}
}
```
---
## 💡 Best Practices & Constraints
- **Battery Optimization**: Respect Doze Mode. `WorkManager` handles this automatically by batching requests.
- **Expedited Work**: For WorkManager tasks that need to start immediately, use `setExpedited(true)`. Note that this has quotas.
- **Connectivity**: Always use `Constraints` in `WorkManager` to prevent unnecessary wakeups when offline.
- **Error Handling**: Implement exponential backoff for retries to avoid "looping" failures.
- **Testing**: Use `WorkManagerTestInitHelper` for testing workers in unit/integration tests without waiting for real-world constraints.
## 📂 Project OrganizationFrom prasad-vennam/Awesome-Android-AI-Agent-Skills, MIT.
More from prasad-vennam/Awesome-Android-AI-Agent-Skills
- 0.477score
android-custom-drawing-canvas
prasad-vennam
Use when creating custom UI components, charts, shaders, or hardware-accelerated drawing in Android with Jetpack Compose Canvas.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-code-review-expert
prasad-vennam
Use when performing a code review for Android pull requests, focusing on architecture, memory safety, and UI excellence.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-media-and-image-expert
prasad-vennam
Use when loading images with Coil/Glide, implementing video playback with Media3/ExoPlayer, or handling media metadata in Android.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-design-system-m3
prasad-vennam
Use when creating Material 3 design systems, custom themes, or dynamic color implementations in Android apps with Jetpack Compose.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-navigation-expert
prasad-vennam
Use when scaffolding or debugging Jetpack Compose Navigation.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-ci-cd-expert
prasad-vennam
Use when setting up continuous integration/deployment (GitHub Actions), Gradle Play Publisher, Fastlane, or R8 Proguard rules for Release builds.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-kmp-shared
prasad-vennam
Use when building Kotlin Multiplatform (KMP) shared modules, integrating with iOS, or sharing business logic across platforms.
SkillDFreshness: D★ 11Claude Code +9 - 0.476score
android-adb-terminal
prasad-vennam
Use when interacting with Android emulators or physical devices via ADB (Android Debug Bridge).
SkillDFreshness: D★ 11Claude Code +9 - 0.476score
android-detekt-expert
prasad-vennam
Use when performing logic-based static analysis, detecting code smells, or configuring Detekt for Android.
SkillDFreshness: D★ 11Claude Code +9 - 0.476score
android-accessibility
prasad-vennam
Use when improving app accessibility, ensuring WCAG compliance, or fixing TalkBack navigation for Android.
SkillDFreshness: D★ 11Claude Code +9 - 0.476score
android-design-to-code
prasad-vennam
Use when translating Figma, Sketch, or Adobe XD designs into Jetpack Compose code for Android.
SkillDFreshness: D★ 11Claude Code +9 - 0.476score
android-clean-architecture
prasad-vennam
Use when designing the architecture, data layer, domain models, or business logic for Android apps.
SkillDFreshness: D★ 11Claude Code +9
Signals
- Stars
- 11
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Apr 1, 2026 (7 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from prasad-vennam
- 0.477score
android-design-system-m3
prasad-vennam
Use when creating Material 3 design systems, custom themes, or dynamic color implementations in Android apps with Jetpack Compose.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-kmp-shared
prasad-vennam
Use when building Kotlin Multiplatform (KMP) shared modules, integrating with iOS, or sharing business logic across platforms.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-code-review-expert
prasad-vennam
Use when performing a code review for Android pull requests, focusing on architecture, memory safety, and UI excellence.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-custom-drawing-canvas
prasad-vennam
Use when creating custom UI components, charts, shaders, or hardware-accelerated drawing in Android with Jetpack Compose Canvas.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-ci-cd-expert
prasad-vennam
Use when setting up continuous integration/deployment (GitHub Actions), Gradle Play Publisher, Fastlane, or R8 Proguard rules for Release builds.
SkillDFreshness: D★ 11Claude Code +9 - 0.477score
android-media-and-image-expert
prasad-vennam
Use when loading images with Coil/Glide, implementing video playback with Media3/ExoPlayer, or handling media metadata in Android.
SkillDFreshness: D★ 11Claude Code +9
Cite this page
android-background-execution skill. Agent Mart. https://agentmart.dev/skills/prasad-vennam-android-background-execution (last updated 2026-10-24)