我有一个具有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);
当我使用这个项目时,它只能正常工作,但当我将这个项目标记为库并使用它时,它不起作用。
我在主项目清单文件中添加了库清单元素,如权限,活动和接收者声明。
问题是什么?
答案 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>