permission - permisos gps android studio
Android: crea nuevos permisos de sistema a través del código fuente de AOSP. (1)
Me preguntaba cómo se puede editar el código fuente del sistema operativo Android para imponer un nuevo permiso. Por ejemplo, como tenemos el permiso BLUETOOTH, si el dispositivo ofrece un nuevo sensor, entonces cómo se puede crear el permiso adecuado para que las aplicaciones usen el nuevo sensor, a nivel de la aplicación, utilizando la entrada de manifiesto para el nuevo permiso disponible en Android ROM.
¿Alguien sabe cómo se crean nuevos permisos en el nivel del sistema operativo en el código fuente de AOSP?
Y creo que si hemos modificado la fuente de Android para agregar el nuevo permiso, debemos compilar nuestro SDK personalizado para usar el permiso en el desarrollo de aplicaciones, de lo contrario, el SDK existente dará un error de tiempo de compilación, ya que no reconoceremos nuestro permiso personalizado ...
Cualquier idea, pensamientos muy apreciados.
En framework / base / data / etc / platform.xml
Puede definir su permiso recién creado con un gid correspondiente.
<permissions>
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- ================================================================== -->
<!-- The following tags are associating low-level group IDs with
permission names. By specifying such a mapping, you are saying
that any application process granted the given permission will
also be running with the given group ID attached to its process,
so it can perform any filesystem (read, write, execute) operations
allowed for that group. -->
<permission name="android.permission.BLUETOOTH_ADMIN" >
<group gid="net_bt_admin" />
</permission>
<permission name="android.permission.BLUETOOTH" >
<group gid="net_bt" />
</permission>
<permission name="android.permission.BLUETOOTH_STACK" >
<group gid="net_bt_stack" />
</permission>
<permission name="android.permission.NET_TUNNELING" >
<group gid="vpn" />
</permission>
<permission name="android.permission.INTERNET" >
<group gid="inet" />
</permission>
<permission name="android.permission.CAMERA" >
<group gid="camera" />
</permission>
<permission name="android.permission.READ_LOGS" >
<group gid="log" />
</permission>
...
</permission>
Otras definiciones de permisos no se encuentran en el archivo anterior, porque en realidad hay dos tipos de permisos en Android, como se muestra en la siguiente figura. En este archivo solo se definen los permisos que impone el Kernel de Linux.
Otros permisos como ACCESS_FINE_LOCATION, READ_CONTACTS, etc. se definen en AndroidManifest.xml en las aplicaciones del sistema (paquetes /.../ AndroidManifest.xml) y framework (frameworks / base / core / res / AndroidManifest.xml).
Después de agregar su permiso y código relacionado, compile y genere el proyecto de acuerdo con la Instrucción de Construcción