Aquí hay varios supuestos:
Primero, que las API documentadas del SDK son las únicas API en un dispositivo, segundo, que las API de Android de Google son las únicas API en cualquier implementación dada de Android, y tercero, que necesita una API para acceder al hardware.
Veamos estos en orden:
- ¿Cuál debería ser mi estrategia para ser seleccionado en un proyecto de desarrollo de aplicaciones de Android de GSoC-2018?
- ¿Hay algún futuro para el desarrollo de aplicaciones móviles híbridas con Ionic 2 y Angular 2?
- ¿Cuáles son las principales diferencias entre Allo y WhatsApp?
- ¿Colocar un icono en la pantalla de inicio de un usuario después de la instalación de una aplicación / juego aumentará su uso?
- Cómo restringir / detectar la solicitud HTTP realizada a mi servidor desde una aplicación móvil que no es mi propia aplicación cliente
Más de una vez, Android ha contenido API no documentadas en el SDK, ya sea porque son solo para uso interno o todavía están en pruebas / beta. Un buen ejemplo de esto es que las ventanas múltiples están presentes en Android 6, pero no son públicas hasta Android 7.
Las compañías que diseñan y construyen teléfonos Android también construyen y personalizan el software. Por lo general, incluyen API personalizadas para acceder a funciones que Google no está incluido en el SDK. La linterna que menciona es un ejemplo particularmente bueno de esto: la mayoría de los fabricantes aún implementan API de cámara personalizadas, incluido el control sobre el flash LED y los creadores de aplicaciones (y eventualmente los OEM) usaron estas API para hacer aplicaciones de linterna. Fue en Android 6 (Marshmallow) que Google estandarizó una API común para el “modo de antorcha”.
Por último, hay formas de acceder a llamadas de hardware y software fuera del entorno limitado de API. Esto generalmente requiere root, pero toda la idea del sistema Xposed es acceder a esas cosas en API ocultas o que carecen de API por completo.