2013-10-03 2 views
1

Я внедрил Broadcast Receiver в проект library для проверки события Boot Completed, но он не работает.Радиовещательный приемник в библиотеке Проект не работает

Broadcast Receiver Класс:

public class Reciever extends BroadcastReceiver 
{ 
    public void onReceive(Context context, Intent intent) 
    { 
     if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) 
     { 
      Toast.makeText(context, "Device Boot Completed", Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

AndroidManifest.xml:

<receiver 
     android:name=".Reciever" 
     android:enabled="true" > 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 
    </receiver> 

я реализовал тот же приемник в другом приложении (не библиотека проекта), и это работает отлично.

+0

вы добавить ресивер в манифесте библиотеки и приложения? – Ran

ответ

0

Вы могли бы пропущен

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

В файле манифест

+0

Я добавил это разрешение –

0

Override следующий метод

@Override общественной недействительная OnReceive (Context контекст Намерение Намерение)

0

BroadcastReceiver не может быть определен в манифесте библиотечного проекта. Проект хостинга всегда должен объявлять компоненты.

android library project and Activities

Edit: Я чувствую, что это должно работать с последними проектами на базе Android студия/Gradle.

-1

Вы должны добавить получить тег и разрешения перезагрузки для клиентского приложения файла манифеста, который с помощью читательской баночки

Как это;

 <receiver android:name="com.example.library.ReceiverClass" 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter>   
    </receiver> 
+0

Нет тега получения. «Разрешение перезагрузки» также не требуется. –

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