Android aidl no puede enlazar al servicio, cuando el host se instala después de que el cliente
Tengo un servicio de aidl que funciona correctamente hasta que el cliente se instala cuando el anfitrión se instala antes, pero como he mencionado en el título cuando el host no está instalado e instalar el cliente y después de que instalar el host me sale un SecurityException En bindService ()
Intent serviceIntent = new Intent(AidlService.class.getName()); if (!mContext.getPackageManager().queryIntentServices(serviceIntent, 0).isEmpty()) { mContext.bindService(serviceIntent, mServiceConn, Context.BIND_AUTO_CREATE); } Caused by: java.lang.SecurityException: Not allowed to bind to service Intent { act=com.mypackage.AidlService}
También he probado algunas aplicaciones que utilizan aidl y tenían el mismo problema!
- ¿Cuáles son los mecanismos de IPC disponibles en el sistema operativo Android?
- ¿Cómo llamar a un servicio remoto Android (IPC) desde un servicio Widget / local?
- ¿Por qué es posible escribir una matriz booleana en un paquete pero no en un booleano?
- ¿Por qué utilizar parcelable cuando se puede realizar la misma tarea utilizando variables estáticas?
- BindService () devuelve false pero unbindService () necesita ser llamado?
ACTUALIZAR
Me di cuenta de que el problema es con el permiso, ya que mi servicio utiliza un permiso personalizado cuando el cliente se instala antes de que el host no puede entender el permiso, por lo que cuando instalo el host y tratar de vincular a él, android no puede Utilizar el permiso, por lo que lanza una excepción de seguridad!
android:permission="com.mypackage.AidlService.BIND" <permission android:name="com.mypackage.AidlService.BIND" android:label="@string/perName" android:description="@string/perDesc" android:protectionLevel="normal" />
Cualquier idea para solucionar el problema?
- Android ResultReceiver a través de paquetes
- ¿Qué ocurre cuando la actividad se bloquea?
- Android IPC, servicio no obtener instanciado
- Usar SharedPreferences en modo multiproceso
- Lanzar una excepción personalizada de un servicio a una actividad
- La mejor manera de realizar la comunicación entre actividades en una aplicación Android TabHost
- Cómo realizar la comprobación nula IPC manual
- Implementar seguridad a nivel de firma en los servicios de Android con más de una firma permitida
Según el permiso personalizado de Android falla basado en la solicitud de instalación de la solicitud
Deberías usar android: protectionLevel = "signature" en lugar de normal en permiso tag
- Cómo hacer progresbar circular con el estado de progreso en android?
- ¿Es esto un error en Android GregorianCalendar?