30 open-source projects similar to zoontek/react-native-permissions, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best React Native Permissions alternative.
react-native-permissions is a cross-platform mobile permissions library that provides a unified API for checking and requesting hardware and software permissions on iOS, Android, and Windows. It serves as a device permission manager to verify permission status and prompt users for access to device features across different operating systems. The library includes a system settings navigator to direct users to application-specific device settings for modifying blocked or limited permissions. It provides a single interface for managing platform-specific permission requests and notification autho
Universal API for request permission and get its statuses.
PermissionsDispatcher is a declarative Android API and runtime permission manager. It provides a structured system for requesting and verifying system permissions while separating authorization logic from general business code. The project focuses on managing the permission request workflow, which includes justifying requests with custom explanations and handling user responses to system prompts. It also functions as a system settings guide, directing users to the manual Android settings menu for special permissions that require approval outside of the application.
Easypermissions is a library and wrapper for managing Android runtime permissions. It serves as a tool for requesting access to protected system resources and handling the associated result workflows. The project provides mechanisms for triggering system-level permission requests and executing specific tasks after permissions are granted. It includes a guided dialog system to direct users to system settings when a permission has been permanently denied. The library covers permission management, user onboarding, and system settings integration. It handles permission request lifecycles through
XXPermissions is a framework and manager for handling runtime and special system permissions across different Android operating system versions. It provides a unified interface for requesting standard permissions and directing users to system settings pages for advanced access control, such as file access and accessibility services. The project features a backward compatibility layer that abstracts version-specific logic, removing the need for manual operating system version checks in client code. It utilizes a chainable request pipeline to queue multiple permissions and manage their asynchro
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
SPPermissions is a Swift library that centralizes permission status checks and request flows across iOS and macOS system services. It provides a unified API for checking the current authorization state of any system permission and requesting access through the appropriate system dialog, all through a single interface. The library uses typed enums to map each system permission to a distinct case, allowing developers to check status and request authorization with a single method call and closure-based callback. It automatically derives the required Info.plist usage-description keys from the per
This project is a cross-platform mobile device information library designed to retrieve hardware, software, and network specifications from iOS and Android devices. It serves as a tool for accessing unique device identifiers, hardware models, and processor architectures to distinguish individual mobile devices. The library provides specialized capabilities for mobile hardware identification and operating system metadata retrieval, including build numbers and API levels. It also functions as a system state monitor for real-time tracking of battery levels, charging status, and network connectiv
Dexter is a Java library and wrapper for managing runtime system permissions on Android. It simplifies the process of requesting permissions from users by reducing the boilerplate code required in activities and fragments, providing a callback system to handle granted and denied states. The library includes a handler for displaying rationale explanations to users when dangerous permissions are denied or require further justification. It also provides automated response mechanisms, such as triggering user interface elements when a permission request is rejected. The project covers error detec
PermissionsDispatcher is a declarative permission management library for Android. It provides a framework for handling runtime and special permissions using an API that routes request results to specific handler methods. The library uses annotations to trigger designated methods for success, rationales, or denials. It coordinates both standard runtime permission flows and specialized permissions that require directing the user to system settings activities for manual approval. The system includes workflows for custom permission justifications and denial handling, including fallbacks for when
AndPermission is a unified API manager for coordinating runtime permissions, secure file sharing, and high-privilege system access on Android. It provides a lifecycle-aware wrapper for handling dangerous permissions and user consent callbacks through a centralized permissions manager. The project distinguishes itself by managing special permissions that require high-privilege access, such as notification monitoring, screen overlays, and the ability to install applications from unknown sources. It also includes a dedicated tool for secure file sharing that generates temporary read and write ac
This is a cross-platform mobile device information library for iOS and Android applications. It provides utilities to retrieve hardware specifications, operating system details, and unique device identifiers. The project specializes in unique device identification by providing hardware, software, and installation IDs, serial numbers, and build fingerprints. It also includes environment detection to distinguish between physical devices, emulators, and tablets. The library covers a broad range of system introspection capabilities, including application metadata retrieval, hardware specificatio
Media-kit is a cross-platform media framework designed for Dart and Flutter applications. It provides a unified interface for building custom audio and video players, enabling developers to implement consistent media playback capabilities across mobile and desktop operating systems. The framework distinguishes itself by utilizing a hardware-accelerated media pipeline that offloads decoding and rendering tasks to dedicated device resources. By mapping video frames directly onto hardware-accelerated textures and employing a unified decoding pipeline, it maintains high-performance output while p
Shizuku is a framework that enables standard mobile applications to interact with restricted system-level interfaces and services. By acting as a bridge between the user space and protected system functions, it allows applications to perform privileged operations that are typically inaccessible due to standard operating system sandbox limitations. The project functions by routing requests through a persistent background service, which facilitates communication with internal system services and remote interfaces. This architecture allows for the execution of system-level tasks and the manageme
This is a cross-platform mobile sharing library that provides a native system interface for sending text, links, and media files to other applications on a mobile device. It functions as a distribution bridge for sharing local files, remote URLs, and base64 encoded data via the device's default share dialog. The library includes tools for direct social media integration, allowing preformatted messages and media to be sent to specific platforms using native sharing intents. It also features an application installation checker to verify if specific social or communication apps are present on th
react-native-video is a cross-platform video player component for React Native that enables the playback of local and remote video files using native platform decoders. It functions as an adaptive streaming player supporting HLS, DASH, and SmoothStreaming formats with automatic bitrate selection and quality adaptation. The project is distinguished by its support for industry-standard digital rights management, including Widevine, FairPlay, and PlayReady, and a plugin-based architecture that allows for the injection of custom analytics or playback logic without modifying the core library. It a
This repository is a demonstration project for building mini programs that run inside the WeChat ecosystem. It provides a complete development framework for creating lightweight, native-feeling services using declarative components, data binding, and platform APIs. The project showcases how to construct applications with a component-based UI architecture, file-based page routing, and a dual-thread rendering model where the logic layer operates in a JavaScript engine while the view layer renders through native WebView components. The demo illustrates integration with cloud services, including
nativescript-vue is a framework for building native iOS and Android applications using Vue components and a reactive state system. It functions as a cross-platform mobile UI library that renders platform-specific views instead of web views, utilizing a native mobile application bridge to connect Vue logic to NativeScript APIs for direct access to mobile hardware and OS features. The framework employs a reactive mobile component system to create high-performance screens and dynamic lists with automatic state updates. This architecture allows for the development of native mobile applications fr
This is a role-based access control system for Laravel applications that manages user permissions and roles within a database. It provides a database permissions manager to assign specific abilities to users and roles, utilizing authorization gates to restrict access to routes and interface elements. The project features a wildcard permission system that uses pattern matching to grant broad access across multiple related permissions. It also supports team-scoped access control, allowing users to maintain different roles and permission levels across separate organizational contexts or teams.
Xamarin.Forms is a cross-platform mobile framework for building native user interfaces using a single shared codebase and .NET. It functions as a data-driven UI library and a XAML UI toolkit, allowing application layouts and visual elements to be defined using an XML-based markup language. The framework provides native API wrappers that offer access to device-specific hardware and operating system features via C#. It utilizes a system for rendering a single user interface codebase through native controls across different operating systems. The project covers adaptive layout management and ap
uni-app is a cross-platform framework for building mobile and web applications from a single Vue.js codebase. It provides a multi-platform app compiler and a cross-platform UI library to ensure consistent behavior and visual presentation across different operating systems. The project features a native API bridge and a universal plugin system that wrap native SDKs into a unified interface, allowing developers to access device hardware and operating system functions. It utilizes a specialized rendering engine and native performance compilation to bypass standard document overhead and achieve h
react-native-firebase is a modular set of libraries that integrates Firebase cloud services into cross-platform mobile applications. It serves as a native-SDK wrapper, mapping JavaScript method calls to native iOS and Android Firebase SDKs via the React Native bridge to provide a type-safe interface for mobile backend integration. The project enables connectivity to a wide array of cloud services, including user authentication and identity management, NoSQL cloud databases with real-time synchronization, and scalable cloud storage for media files. It also provides tools for sending push notif
react-native-maps is a cross-platform map component and visualization library for embedding interactive maps within mobile applications on iOS and Android. It provides a declarative interface for managing geospatial user interfaces, allowing for the rendering of geographical data and location-based features. The library enables the visualization of spatial data through the placement of markers, the creation of custom callouts, and the drawing of polylines and polygons as map overlays. It supports interactive map navigation, including the ability to animate map regions and customize the visual
This project is a cross-platform mobile filesystem API that provides a native bridge for direct read and write access to the device filesystem. It functions as a storage management library and a native asset access layer, allowing applications to interact with local files and system-level document directories. The library includes a mobile file transfer client for downloading and uploading files between remote servers and local device storage. These transfers support progress tracking and multipart data transmission. Broad capabilities cover local file and directory management, including the
This is a comprehensive library of code examples and reference implementations for building cross-platform user interfaces with Flutter. The project provides a collection of demo applications and guides designed to illustrate the implementation of design patterns, animation techniques, and testing workflows. The repository features specific demonstrations for native integration, including examples of embedding modules into existing native applications, using platform channels, and bridging native code with the framework. It also serves as an animation reference, providing implementations for
OpenFGA is a fine-grained authorization server and policy decision point that implements relationship-based access control. It serves as a centralized authorization service for evaluating access requests and managing relationship tuples across distributed microservices and multi-tenant environments. The engine combines relationship graphs with attribute-based access control, using the Common Expression Language to evaluate dynamic runtime attributes and conditional access rules. It handles complex hierarchies and nested permissions by traversing chains of associations and parent-child links t
SpiceDB is a distributed permission store and relationship-based access control system. It provides a scalable database for storing and querying fine-grained authorization relationships, implementing a consistency model inspired by Google Zanzibar to manage access rights across large-scale applications. The system uses a dedicated schema language to define the rules and logic governing how relationships translate into permissions independently of application code. It functions as a pluggable authorization engine that persists relationship tuples in external relational databases such as Postgr
This is a Kotlin Multiplatform UI framework for building consistent user interfaces across desktop, web, and mobile platforms using a single codebase. It functions as a declarative framework that enables the creation of shared UI components that run across multiple target environments. The project includes a cross-platform desktop toolkit for managing native window features, system notifications, and hardware acceleration. For web targets, it provides a declarative interface library and a rendering engine that executes via WebAssembly to achieve high-performance execution in browsers. The fr
Aurora IMUI is a cross-platform chat UI component library that provides native interface elements for building instant messaging screens on Android, iOS, and React Native. It wraps platform-native UI components behind a unified interface, delegating rendering to each platform's native runtime while maintaining consistent behavior and appearance across devices. The library separates chat data into a platform-agnostic model layer that drives view updates through reactive bindings to native list components. It manages the multi-modal input bar as a finite state machine that switches between text