库中的广播接收器不工作

时间:2014-06-26 10:01:35

标签: android

嗨大家我在图书馆计划中创建了一个广播接收器。

下面是代码

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class AlarmReceiver extends BroadcastReceiver {

     @Override
     public void onReceive(Context context, Intent intent) {
     // When our Alaram time is triggered , this method will be excuted (onReceive)
     // We're invoking a service in this method which shows Notification to the User
      Intent myIntent = new Intent(context, AlarmNotificationService.class);
      context.startService(myIntent);
    }

} 

我使用以下代码使用警报管理器触发广播接收器。

Intent myIntent = new Intent("Alarm");
        myIntent.setClass(activity, AlarmReceiver.class);    
PendingIntent pendingIntent = PendingIntent.getBroadcast(activity, 0, myIntent, 0);
            AlarmManager alarmManager = (AlarmManager)activity.getSystemService(activity.ALARM_SERVICE);
            long time = System.currentTimeMillis() + 10 * 1000;
            alarmManager.set(AlarmManager.RTC, time , pendingIntent); 

我在主项目的清单中定义了接收器,如下所示

<receiver android:name="com.library.packagename.AlarmReciever">
    <intent-filter>
        <action android:name="Alarm" />             
    </intent-filter>
</receiver>

但是广播接收器没有被触发。

2 个答案:

答案 0 :(得分:0)

您是否已将Library Brodacstreceiver注册到AndroidManifest.xml文件?

确保它,如果您尚未在Library AndroidManifest.xml文件中注册接收器

<receiver name="libprojectpackagename.AlarmReceiver">
  ...
</receiver>

就是这样......

答案 1 :(得分:0)

如果您在未设置操作的情况下执行此操作,则会触发您的广播。

Intent intent = new Intent(activity, AlarmReceiver.class);
alarmIntent = PendingIntent.getBroadcast(activity, 0, intent, 0);

同时从清单中删除<action android:name="Alarm" />