【发布时间】:2012-09-04 03:29:31
【问题描述】:
我想知道这段代码是否有效(我现在无法尝试。此外,我还有一些疑问需要解决)。
Intent intent = new Intent(context, AlarmReceiver.class);
intent.putExtra("user",global.getUsername());
intent.puExtra("password",global.getPassword);
PendingIntent sender = PendingIntent.getBroadcast(context, 192837, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Get the AlarmManager service
Log.v("inside log_run", "new service started");
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.RTC_WAKEUP, IMMEDIATELY,60000,sender);
finish();
如您所见,此代码以setRepeating() 开头的AlarmManager。如果您看到传递给BroadcastReceiver 的意图(实际上是待处理的意图),则传递了两个额外内容。只要应用程序正在运行,这些都是全局变量。但是这个AlarmManager 是为了在后台运行(也就是说,应用程序只会在 alrmamanager 对广播接收器的前几次调用中才有效)
我的问题
AlarmManager 是否会复制全局变量(用户名和密码)并维护该副本以与意图一起传递(作为附加项)?还是它会引用全局变量(在过程中,当全局变量变为 null 时,将 null 作为额外的传递)?因为,这些值将在广播接收器中使用。
【问题讨论】:
标签: android alarmmanager