Pending Intent请求代码可以为负数吗?

时间:2015-09-26 10:50:24

标签: android android-studio broadcastreceiver android-pendingintent

我在互联网上搜索过但没有找到太多帮助。我正在制作一个报警应用程序,我正在使用报警管理器的待定意图。我想根据sqlite数据库表的特定id设置两个警报。对于第一个警报,我将待处理的意图请求代码设置为正ID,对于第二个意图,我将待处理的意图请求代码设置为负id(-1 * id)。 这是代码

PendingIntent pi = PendingIntent.getBroadcast(context, _id, i, PendingIntent.FLAG_UPDATE_CURRENT);

PendingIntent pi = PendingIntent.getBroadcast(context, -1 *_id, i, PendingIntent.FLAG_UPDATE_CURRENT);

_id可以是否定的?

2 个答案:

答案 0 :(得分:6)

通常_id标记为autoincrement。根据sqlite文档,对于autoincrement,如果未明确插入负值,则为此列生成的值始终为正值。如果您明确插入负值,_id可能是否定的。

  

Pending Intent请求代码是否为负数?

文档没有说明负面价值观。该方法接受int值,并且在java中,所有基元类型都已签名。因此,我们必须假设请求代码可以假设负值

答案 1 :(得分:-1)

List<PendingIntent> plist;

void setReminder()

{
 plist = new ArrayList<>();

    Intent alertIntent = new Intent(this, Notify.class);

    AlarmManager alarmManager = (AlarmManager) getSystemService(Timetableconfig.ALARM_SERVICE);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, list.size(), alertIntent, PendingIntent.FLAG_UPDATE_CURRENT);

    plist.add(pendingIntent);
    alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, toofix.getTimeInMillis() - 300000, 7 * 24 * 60 * 60*1000, plist.get(plist.size()-1));

}