2013-12-03 4 views
1

Я пытаюсь связать службу из проекта библиотеки, который добавлен в другой проект библиотеки, который добавлен в проект приложения. Итак, библиотека A называется библиотекой B, а библиотека B добавлена ​​в мое приложение. Приложение начинает Service A. Другое приложение начинает служба Б. служба Б связывается с обслуживания A, но неНевозможно связать службу из справочной библиотеки с другой службой

ActivityManager(593): Unable to start service Intent { act=com.xx.yy.zz/.Service } U=0: not found 

-I можно найти банку, содержащую службу в приложении (в зависимости андроид). -Я объявил приложение в манифесте (приложении).

<service android:name="com.xx.yy.zz.Service" 
      android:exported="true" 
      android:enabled="true"> 

</service> 

-Объявление службы находится в теге приложения. -The службы расширяет Услуги ОБА услуг производят журналы, чтобы они оба начали

Это, как я пытаюсь связать Службы

private void bindToService() { 
    Toast.makeText(getApplicationContext(), "Binding service", Toast.LENGTH_SHORT).show(); 
    Intent intent = new Intent(); 
    intent.setClassName("com.xx.yy.zz", "com.xx.yy.zz.Service"); 
    mBound = getApplicationContext().bindService(intent, this, BIND_AUTO_CREATE); 
    Log.d(TAG, "bindService returned " + mBound); 
} 

mBound всегда возвращает ложь. Услуги были привязаны до (в testapp, который использует выделение того же кода). службы связывают с помощью AIDL (ничего не изменилось для этого кода).

Я не могу вставить больше кода, поэтому я надеюсь, что этого достаточно, чтобы заставить меня по пути. Спасибо заранее.

ответ

2

Я исправил его, оказалось, что я должен был предоставить имя пакета приложения и имя пакета библиотеки.

Таким образом, вместо:

intent.setClassName("com.library.package.name", "com.library.package.name.Service"); 

я должен был сделать:

intent.setClassName("com.application.package.name", "com.library.package.name.Service"); 

Я надеюсь, что это помогает кто-то другой! Я потратил время на это.

+0

Вы также можете создать намерение следующим образом: намерение намерения = новое намерение (myActivity, TheService.class); – raudi

Смежные вопросы