AlarmManager在图书馆项目中不起作用

时间:2015-07-04 18:36:25

标签: android broadcastreceiver alarmmanager

我有一个具有Alarm类的应用。我选择通过以下代码

启动Alarm类
AlarmManager am=(AlarmManager)getSystemService(Context.ALARM_SERVICE);
        Intent i = new Intent(CompassActivity.this, ir.aiga.apps.news.Alarm.class);
        PendingIntent pi = PendingIntent.getBroadcast(CompassActivity.this, 0, i, 0);
        am.setRepeating(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime(), 10000, pi);

当我使用这个项目时,它只能正常工作,但当我将这个项目标记为库并使用它时,它不起作用。

我在主项目清单文件中添加了库清单元素,如权限,活动和接收者声明。

问题是什么?

1 个答案:

答案 0 :(得分:1)

您应该在您的图书馆和项目的清单中注册您的Broadcastreceiver。像这样的东西:

<receiver android:name="[your package name].[your broadcast receiver class]"/>

确保将它们都放在<application></application>标记下。下面的代码就是一个例子:

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <receiver android:name="com.example.myapp.myreceivers.MyBroadCastReceiver" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" >
            </action>
        </intent-filter>
    </receiver>
</application>