У меня есть служба helpl, которая работает правильно до тех пор, пока клиент не будет установлен, когда хост будет установлен ранее, но, как я упоминал в заголовке, когда хост не установлен, и я устанавливаю клиент, а после этого я устанавливаю хост, я получаю исключение безопасности On 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}
Я также протестировал несколько приложений, которые используют helpl, и у них была такая же проблема!
ОБНОВИТЬ
Я понял, что проблема связана с разрешением, так как моя служба использует пользовательские разрешения, когда клиент установлен до того, как хост не может понять это разрешение, поэтому, когда я устанавливаю хост и пытаюсь связать его, андроид не может Используйте это разрешение, поэтому оно выдает исключение безопасности!
android:permission="com.mypackage.AidlService.BIND" <permission android:name="com.mypackage.AidlService.BIND" android:label="@string/perName" android:description="@string/perDesc" android:protectionLevel="normal" />
Любая идея исправить проблему?
В соответствии с пользовательскими разрешениями пользователей на основе заказа приложения
Вы должны использовать android: protectionLevel = "подпись" вместо обычного в теге разрешений