2013-10-03 26 views
1

我在library項目中實施了Broadcast Receiver以檢查Boot Completed事件,但它不起作用。庫項目中的廣播接收器不工作

廣播接收機類:

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

覆蓋下面的方法

@覆蓋 公共無效的onReceive(上下文語境,意圖意圖)

0

廣播接收器不能被定義在圖書館項目的清單中。主機項目總是需要聲明組件。

android library project and Activities

編輯: 我覺得這應該與最新的基於Android工作室/ gradle這個項目。

-1

您應該添加接收標籤和使用您的庫jar

像這樣重啓權限到客戶端應用程序清單文件;

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

沒有收到標籤。 「重新啓動權限」也不是必需的。 –