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!

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?

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

  • Lanzar una excepción personalizada de un servicio a una actividad
  • Android ResultReceiver a través de paquetes
  • Android IPC y diferencias de ContentProvider
  • ¿Qué ocurre cuando la actividad se bloquea?
  • ¿Cuáles son los mecanismos de IPC disponibles en el sistema operativo Android?
  • La mejor manera de realizar la comunicación entre actividades en una aplicación Android TabHost
  • GREF que aumenta / que disminuye en servicio multi-hilo (aidl) - qué significa?
  • ¿Cómo puedo notificar una actividad en ejecución de un receptor de difusión?
  • Cómo pasar un socket Bluetooth a otra actividad mediante la interfaz de la aplicación
  • Implementar seguridad a nivel de firma en los servicios de Android con más de una firma permitida
  • Handler en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.