Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/SaadAhmed1122/Kids_learnig_App/llms.txt

Use this file to discover all available pages before exploring further.

The Kids Learning App declares five Android permissions in AndroidManifest.xml to support its three pillars: HTML5 game streaming, AdMob advertising, and the photo-based puzzle feature. Two of those permissions are granted automatically at install time; the remaining three require an explicit runtime prompt on Android 6.0 (API 23) and above.

Permissions Overview

PermissionRequired ForDeclared In
INTERNETAdMob ad requests, HTML5 game WebView, connectivity checkAndroidManifest.xml
ACCESS_NETWORK_STATEInternet connectivity check in GameMainActAndroidManifest.xml
CAMERAPuzzle photo capture (Puzzlemainscreen), gallery camera (AddImge)AndroidManifest.xml
WRITE_EXTERNAL_STORAGESave camera-captured puzzle photos to device storageAndroidManifest.xml
READ_EXTERNAL_STORAGEOpen images from device gallery in AddImgeAndroidManifest.xml

Permission Details

A normal permission granted automatically at install — no runtime dialog is shown to the user.Used by:
  • WebView in GameLoader to stream Famobi and topgames.com HTML5 games.
  • Google AdMob SDK to fetch and display interstitial, rewarded, and banner ads.
  • ConnectivityManager in GameMainAct to verify network availability on launch.
Without this permission the app cannot load any game or serve any ad.
A normal permission granted automatically at install.Used by: GameMainAct calls ConnectivityManager.getActiveNetworkInfo() to detect whether the device has an active network connection. If the check fails, the user is routed to the No_internet Activity before any WebView attempts to load.
A dangerous permission requiring a runtime request on API 23+.Used by:
  • Puzzlemainscreen — lets the user take a new photo that becomes the puzzle image.
  • AddImge — powers the in-app camera option inside the image gallery picker.
If the user denies this permission, photo capture is unavailable but the rest of the app (games, ads) continues to function normally.
A dangerous permission requiring a runtime request on API 23+. On Android 10+ (API 29) scoped storage limits apply; this permission covers API 19–28.Used by: Puzzlemainscreen writes the camera-captured image to external storage so it can be loaded into the puzzle engine. Without this permission, captured photos cannot be saved and the puzzle feature will not function correctly.
A dangerous permission requiring a runtime request on API 23+.Used by: AddImge reads image files from the device gallery so the user can choose an existing photo as a puzzle. Without this permission, the gallery picker cannot display or open device images.

Runtime Permission Handling

CAMERA, WRITE_EXTERNAL_STORAGE, and READ_EXTERNAL_STORAGE are classified as dangerous permissions and must be requested at runtime on Android 6.0 (API 23) and above. Puzzlemainscreen handles this with ActivityCompat.requestPermissions() using request code 200 (PERMIS_CAMARA).
if (ActivityCompat.checkSelfPermission(getApplicationContext(),
        Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED
    && ActivityCompat.checkSelfPermission(getApplicationContext(),
        Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(Puzzlemainscreen.this,
        new String[]{Manifest.permission.CAMERA,
                     Manifest.permission.WRITE_EXTERNAL_STORAGE},
        PERMIS_CAMARA);
    return;
}
The return statement prevents the photo-capture logic from proceeding until the user responds to the system dialog. Implement onRequestPermissionsResult() to handle the user’s choice and retry the action if permission is granted.
INTERNET and ACCESS_NETWORK_STATE are normal permissions and are granted automatically at install. They never trigger a runtime dialog.
On Android 10+ (targetSdkVersion 29 and above) consider migrating photo storage to the MediaStore API. This removes the need for WRITE_EXTERNAL_STORAGE on newer devices while maintaining backwards compatibility for the app’s minSdkVersion 19 baseline.
Since minSdkVersion is 19 (Android 4.4), your app runs on devices that pre-date runtime permissions. On those devices all permissions are granted at install. Ensure your permission-check code uses ActivityCompat (from the AndroidX compat library) rather than the raw Context.checkSelfPermission() call to handle both old and new API levels safely.

Build docs developers (and LLMs) love