---
title: "Verify Android camera denial preserves manual entry"
description: "Validate a manual-entry fallback when an Android app lacks camera permission, keeping scanning errors separate from a successful saved record."
canonical_url: "https://vostride.com/agent-library/android-flows/denied-camera-manual-fallback.md"
md_url: "https://vostride.com/agent-library/android-flows/denied-camera-manual-fallback.md"
content_kind: "recipe"
topic: "android-flows"
---

# Verify Android camera denial preserves manual entry

Validate a manual-entry fallback when an Android app lacks camera permission, keeping scanning errors separate from a successful saved record.

## Risk

Permission denial should not leave the core task inaccessible. This recipe checks the product path that exists without camera access and avoids treating a system dialog dismissal as successful scanning.

## Fixtures

- An owned Android sandbox installation with camera permission preconfigured as denied by an external device fixture.
- A device profile and explicit mobile app-state policy that preserve the prepared permission state; verify the fixture state before starting.
- A test inventory account, a valid manual item code, and an independent item lookup scoped to a disposable collection.

## Steps

1. Open Add item and choose the scan entry point; verify the app displays its documented denied-camera explanation or manual-entry option.
2. Select manual entry and verify a code field is editable without requiring permission to be granted.
3. Enter the valid fixture code and verify the resolved item name and code match the sandbox catalog before saving.
4. Save the item once and verify its detail page shows the manual source where the product exposes one and the correct collection.
5. Return to the collection and verify one matching item; inspect the external inventory oracle and verify exactly one saved association with the supplied code.

## Expected results

- The manual workflow remains reachable while the fixture confirms camera permission is denied.
- The saved inventory association uses the intended catalog code and disposable collection identifier.
- No camera capture is required to complete the documented fallback path.

## False-pass traps

- An item thumbnail does not establish that scanning occurred; it may come from the catalog lookup.
- A previously granted permission state invalidates the denied-permission scenario even if manual entry works.

## Cleanup

- Remove the test inventory association and restore the external device permission baseline.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa mobile testing](/docs/agent-qa/guides/mobile-testing.md)
- [agent-qa test](/docs/agent-qa/configuration/test.md)
- [agent-qa hooks](/docs/agent-qa/guides/hooks.md)

- [Android application QA recipes](/agent-library/android-flows.md)
- [Software factory QA library](/agent-library.md)
