【发布时间】:2012-12-19 01:41:26
【问题描述】:
我目前正在开发一个应用程序,我正在使用此邮政编码来获取 GPS 锁定。 What is the simplest and most robust way to get the user's current location on Android?
它就像一个魅力!它非常适合我的要求。 我现在要做的是每 10 分钟触发一次此方法以获取 gps 信号并将其保存在 txt 文件中。 我的问题是我一直无法理解 AlarmManager 是如何工作的,因为它调用 AFAIK 活动的 onCreate() 方法。 即使电话处于休眠状态,如何让 AlarmManager 在后台每 10 分钟调用一次特定方法?
编辑 2: 我使用了 A--C 提供的代码,但由于某种原因,警报没有调用我的类 AlarmBroadcastReceiver 上的方法。 这是我在 MainActivity 中的方法。
Intent intent = new Intent (this, AlarmBroadcastReceiver.class);
PendingIntent pendIntent = PendingIntent.getBroadcast(this, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) getSystemService (Context.ALARM_SERVICE);
alarmManager.cancel(pendIntent); //cancel if active already
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, Calendar.getInstance().getTimeInMillis()+4000,
4000, pendIntent);
在 AlarmBroadcastReceiver 类中。
public class AlarmBroadcastReceiver extends BroadcastReceiver{
public float accuracy;
public double latitude;
public double longitud;
public static boolean Activado=false;
public void onReceive(Context context, Intent intent) {
Log.d("AlarmManager", "Method onReceiveCalled");
}
我做错了什么?
【问题讨论】:
标签: java android eclipse events sdk