PendingIntent.FLAG_NO_CREATE 的文档说明如下:
如果所描述的 PendingIntent 不存在,则返回 null 而不是创建它。
我的问题是:用什么标准来比较 PendingIntent?
我猜这个标志在幕后使用PendingIntent.equals,但我不确定这个函数使用了哪些标准。它是否使用操作、请求代码、类别、额外信息(我猜不是)等?
上下文:
如果我的闹钟还没有设置,我想要使用待定意图启动闹钟。具体来说,我正在遵循这个答案。
Intent i = new Intent(applicationContext, MyService.class);
i.setAction("myAction");
PendingIntent pi = PendingIntent.getService(applicationContext, /*requestCode*/0, i, PendingIntent.FLAG_NO_CREATE);
if (pi != null) {
AlarmManager alarmMgr = (AlarmManager)applicationContext.getSystemService(Context.AlarmService);
alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, AlarmManager.INTERVAL_HOUR, AlarmManager.INTERVAL_HOUR, pi);
}