/ / Denegación de permisos: la intención de inicio requiere <nombre del paquete> - android, permisos, acceso remoto, permiso denegado, openvpn

Denegación de permisos: el intento de inicio requiere <nombre del paquete>: Android, permisos, acceso remoto, denegación de permisos, openvpn

Tengo un problema al ejecutar el servicio desde otra aplicación (tengo ambos proyectos de aplicaciones en Eclipse) a través de AIDL. Cada vez que uso métodos de la interfaz obtengo:

java.lang.SecurityException: Permission Denial: starting Intent
{cmp=de.blinkt.openvpn/.api.GrantPermissionsActivity } from ProcessRecord{42cfd9c0
22519:com.xxx/u0a10093} (pid=22519, uid=10093) requires de.blinkt.openvpn.REMOTE_API.

He buscado por todas partes y no he encontrado ninguna respuesta viable. ¿Como arreglarlo?

Respuestas

2 para la respuesta № 1

Para usar la API, primero debe llamar:

/** This permission framework is used  to avoid confused deputy style attack to the VPN
* calling this will give null if the app is allowed to use the external API and an Intent
* that can be launched to request permissions otherwise */
Intent prepare (String packagename);

Y necesitas tener en tu Manifiesto:

<!-- Copy the <permission> block to your app when using the REMOTE API. Otherwise OpenVPN for
Android needs to be installed first -->
<permission
android:name="de.blinkt.openvpn.REMOTE_API"
android:description="@string/permission_description"
android:label="Control OpenVPN"
android:permissionGroup="android.permission-group.NETWORK"
android:protectionLevel="dangerous" />

<uses-permission android:name="de.blinkt.openvpn.REMOTE_API">

Tenga en cuenta el comentario antes de ese permiso ...