图书馆项目中的广播接收器无法正常工作

时间:2013-10-03 06:06:12

标签: android android-broadcast

我已在Broadcast Receiver项目中实施了library来检查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>

我在另一个应用程序(而不是库项目)中实现了相同的Receiver,它工作正常。

4 个答案:

答案 0 :(得分:1)

覆盖以下方法

@覆盖 public void onReceive(Context context,Intent intent)

答案 1 :(得分:1)

无法在库项目的清单中定义BroadcastReceiver。托管项目总是需要声明组件。

android library project and Activities

编辑: 我觉得这应该适用于最新的Android studio / gradle项目。

答案 2 :(得分:0)

你可能会跳过

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

在清单文件

答案 3 :(得分:-1)

您应该使用库jar

接收标记重新启动权限添加到客户端应用程序清单文件中

喜欢这个;

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