HomeDocsAndroidScreenshot reports

Screenshot reports

v1.7.1

Detect screenshots, request permissions and attach images to bug reports.

Automatic screenshot detection

When users take a screenshot, BugScreen automatically shows a bug report dialog. That's it. Reporters can attach up to four screenshots to a single report from the in-app dialog.

Reporter settings load asynchronously. If the dialog opens before they arrive, it shows a loading indicator and keeps any attached screenshot. If they cannot be loaded, the dialog shows a Retry action instead of opening the form with default settings.

Permissions

Request permissions

Android 14+: no permission needed to detect screenshots. The SDK prompts once for photo access to auto-attach the screenshot; if denied, the user picks it from the photo picker instead.

Android 13 and below: needs a runtime permission to detect screenshots. Opt in with .requestPermissionsOnStart(true) to have the SDK prompt automatically, or use the fine-grained helpers below.

kotlin
import app.bugscreen.android.BugScreenSDK

// Check if permission is needed
if (BugScreenSDK.shouldRequestPermission(this)) {
    // Request permission with callback
    BugScreenSDK.requestScreenshotPermission(this) { granted ->
        if (granted) {
            // Permission granted - screenshot detection enabled
        } else {
            // Permission denied - manual triggering still works
        }
    }
}

// Or just check permission status
val hasPermission = BugScreenSDK.hasScreenshotPermission(this)
Note: On Android 14+ no permission is needed for screenshot detection itself. The SDK may prompt the user once for photo access so it can auto-attach the screenshot to the report; if they decline, the report screen falls back to the system photo picker.

Permissions added to your app

BugScreen's manifest is merged into your app's manifest, so these <uses-permission> entries appear in your Play Console listing if you ship the SDK in your production app:

  • INTERNET — upload bug reports.
  • READ_EXTERNAL_STORAGE (Android 12 and below only) — read the latest screenshot from MediaStore.
  • READ_MEDIA_IMAGES (Android 13+) — same lookup on modern Android; requested opt-in at runtime.
  • DETECT_SCREEN_CAPTURE (Android 14+) — install-time, silent; lets the SDK know when a screenshot is taken.