Receiver对Android中的警报没有反应

时间:2013-08-11 20:53:15

标签: android broadcastreceiver alarm

......我仍然没有想法什么错。希望有人可以帮助我,我并不是真正熟悉Android。

这是我的报警服务,在Reporter.java中定义:

    alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent alarmIntent = new Intent(getBaseContext(), Reporter.MyReceiver.class);
PendingIntent  pendingAlarmIntent = PendingIntent.getBroadcast(getBaseContext(), 0, alarmIntent, 0);
alarmMgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, 1*1000, 1*30*1000,  pendingAlarmIntent);

这是我收到的内部班级:

    public class MyReceiver extends BroadcastReceiver{

public MyReceiver(){
    super();
}

public void onReceive(Context context, Intent intent) {
    Log.e("log_cat","Alarm empfangen");
    new GetControls();
}

}

这就是我添加到Manifest中的内容:

         <receiver android:name="de.sonderfarben.tmc_reporter3.Reporter$MyReceiver" android:process=":remote"/>

感谢名单!!

1 个答案:

答案 0 :(得分:0)

那是因为你已经指定过去的时间。如果您尝试在事件发生后的一秒钟内发生ELAPSED_REALTIME_WAKEUP警报,请使用SystemClock.elapsedRealtime()+1000,而不是1*1000


<强>更新

此外,您不能使用常规内部类。您可以使用static内部类或单独的公共类。常规内部类只能由外部类的实例实例化; Android没有其中一个可以使用。