android helpl не может привязаться к службе, когда хост установлен после клиента

У меня есть служба помощи, которая работает правильно, пока клиент не будет установлен, когда хост установлен ранее, но, как я уже упоминал в заголовке, когда хост не установлен, и я устанавливаю клиент, а после этого я устанавливаю хост, я получаю SecurityException на 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}

Я также протестировал несколько приложений, которые используют помощь, и у них была такая же проблема!

ОБНОВЛЕНИЕ

Я понял, что проблема связана с разрешением, так как моя служба использует специальное разрешение, когда клиент установлен до хоста, он не может понять разрешение, поэтому, когда я устанавливаю хост и пытаюсь привязаться к нему, Android не может используйте разрешение, поэтому оно создает исключение безопасности!

android:permission="com.mypackage.AidlService.BIND"

<permission android:name="com.mypackage.AidlService.BIND"
            android:label="@string/perName"
            android:description="@string/perDesc"
            android:protectionLevel="normal" />

любая идея, чтобы исправить проблему?


person EC84B4    schedule 08.04.2014    source источник
comment
stackoverflow.com/questions/12007139 /   -  person Raghunandan    schedule 08.04.2014
comment
хороший вопрос, я тоже застрял с этим. не мог найти ответ.   -  person Bardya Momeni    schedule 08.04.2014


Ответы (1)


Согласно Настраиваемое разрешение Android не работает в зависимости от порядка установки приложения

вы должны использовать android:protectionLevel="signature" вместо обычного в теге разрешения

person MaryPeak    schedule 08.04.2014
comment
thnx много сэкономил мне недели поиска - person EC84B4; 08.04.2014