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

  • ¿Cómo puedo notificar una actividad en ejecución de un receptor de difusión?
  • Rendimiento de Android ContentProvider
  • Transferir InputStream a otro servicio (a través de límites de proceso) con ParcelFileDescriptor.createPipe () falla con "EBADF (número de archivo incorrecto)"
  • Java.io.IOException: write failed: EPIPE (Broken pipe)
  • Android: startActivityForResult no llamando aActivityResult
  • ¿Cómo transferir archivos entre aplicaciones de Android que se ejecutan en el mismo dispositivo?
  • Handler en Android
  • ¿Se puede utilizar Messenger (alternativa ligera a AIDL) para la comunicación entre aplicaciones?
  • Cómo pasar un socket Bluetooth a otra actividad mediante la interfaz de la aplicación
  • Cómo obtener datos de un servicio sin consolidar en Android
  • GREF que aumenta / que disminuye en servicio multi-hilo (aidl) - qué significa?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.