Android 无法将WakefulIntentService的子类实例化为接收方
我正在使用WakefulIntentService和AlarmManager实现一个数据记录器服务。但是,我在实例化接收器时遇到问题。以下是我尝试运行应用程序时得到的结果 错误/AndroidRuntime(3181):java.lang.RuntimeException:无法实例化接收方my.package.WakeFullLoggerIntentService:java.lang.InstanceException:my.package.WakeFullLoggerIntentService 以下是服务类的相关部分:Android 无法将WakefulIntentService的子类实例化为接收方,android,commonsware-cwac,Android,Commonsware Cwac,我正在使用WakefulIntentService和AlarmManager实现一个数据记录器服务。但是,我在实例化接收器时遇到问题。以下是我尝试运行应用程序时得到的结果 错误/AndroidRuntime(3181):java.lang.RuntimeException:无法实例化接收方my.package.WakeFullLoggerIntentService:java.lang.InstanceException:my.package.WakeFullLoggerIntentService
public class WakefulLoggerIntentService extends WakefulIntentService
{
public WakefulLoggerIntentService()
{
super("WakefulLoggerIntentService");
}
@Override
protected void doWakefulWork( Intent intent )
{
// Do the actual data logging.
}
}
我已将receiver元素添加到清单中:
<receiver android:name=".WakefulLoggerIntentService">
</receiver>
我缺少什么?
WakeFullLoggerIntentService
是一项服务。它不是广播接收器
要使用WakefulIntentService
,您需要一个由警报触发的广播接收器
,然后调用sendWakefulWork()
启动WakefulLoggerIntentService
此外,您需要将您的
WakeFullLoggerIntentService
在清单中注册为
,而不是缺少链接的。非常感谢。
Intent i = new Intent(getApplicationContext(), WakefulLoggerIntentService.class);
PendingIntent pi = PendingIntent.getBroadcast(getApplicationContext(), 0, i, 0);
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime(), 30000, pi);