我有一个接收器,它会在手机启动后自动启动:
<receiver android:name=".OnBootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
在接收器中,我设置了一个像这样的闹钟:
AlarmManager mgr=(AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent i=new Intent(context, LocationPoller.class);
i.putExtra(LocationPoller.EXTRA_INTENT,
new Intent(context, LocationReceiver.class));
i.putExtra(LocationPoller.EXTRA_PROVIDER,
LocationManager.GPS_PROVIDER);
PendingIntent pi=PendingIntent.getBroadcast(context, 0, i, 0);
mgr.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime(),
PERIOD,
pi);
它的功能很好,除了当用户安装应用程序时,闹钟直到用户重新启动手机才会设置。
为了解决这个问题,我需要从我的Activity中检查AlarmManager是否已经设置,如果没有,则需要从Activity中设置。
那么,如何检查AlarmManager是否已经设置呢?