【发布时间】:2013-08-13 08:23:34
【问题描述】:
我正在 Android 中开发一个简单的任务应用程序,我需要通过 AlarmManager 创建通知。我的问题是我有一些应该删除的警报 - 因此它们的通知 - 但它们不是,所以我决定 - 在 Delete alarm from AlarmManager using cancel() - Android 等帖子之后将 AlarmManager 设为静态变量,以便可以从整个应用程序。 我这样做的方式是在我的主类中使用以下方法:
public static AlarmManager getAlarmManagerInstance() {
if (sAlarmManager == null && sContext != null)
sAlarmManager = (AlarmManager) sContext
.getSystemService(Context.ALARM_SERVICE);
return sAlarmManager;
}
并且在sContext 变量中将以这种方式实例化:
@Override
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.activity_main);
sContext = this;
initActionBar();
}
从这个变量创建一个单例模式是个好主意吗?有没有更好的办法?
非常感谢。
【问题讨论】:
-
使用相同的 id 来创建待处理的意图......这将做同样的工作
-
但我正在使用我想要创建/修改的任务的 ID 来创建待处理的意图,例如
PendingIntent pendingFirstAlarmIntent = PendingIntent.getBroadcast( this, mGoal.getId().intValue(), intent, PendingIntent.FLAG_ONE_SHOT);.. 还是一样吗?跨度> -
是的,这是一样的...如果这不是取消警报,请尝试使用不同的标志...
-
显示您尝试使用的代码。
-
@Squonk 问题已更新,非常感谢
标签: android singleton alarmmanager