Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 传递PendingEvent请求代码以放置额外的_Android - Fatal编程技术网

Android 传递PendingEvent请求代码以放置额外的

Android 传递PendingEvent请求代码以放置额外的,android,Android,我需要为在Pending帐篷内创建的每个警报添加一个唯一的ID alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0); 当前请求代码被设置为0 我希望能够在列表视图中列出报警,然后允许用户从列表中取消报警次数。我的逻辑是为每个要取消的报警使用唯一的ID 如何为悬挂式帐篷内创建的每个警报设置唯一id 这是我用来设置报警的方法 这是我将用来cancelAlarm() requestCode是您自己制作的。这只是一种区分类似

我需要为在Pending帐篷内创建的每个警报添加一个唯一的ID

 alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
当前请求代码被设置为0

我希望能够在
列表视图中列出报警,然后允许用户从列表中取消报警次数。我的逻辑是为每个要取消的报警使用唯一的ID

如何为悬挂式帐篷内创建的每个警报设置唯一id

这是我用来设置报警的方法

这是我将用来
cancelAlarm()


requestCode
是您自己制作的。这只是一种区分类似的
pendingent
s的方法。我当然不明白这一点。是否没有与挂起的意图关联的ID?如果他们没有id,我如何跟踪他们?或者更好的是,操作系统如何跟踪它们?我的意思是,我假设它只知道内存位置。使用它是否有意义,因为它不是唯一的
requestCode
有点像ID,在应用程序级别,只是您分配了它。操作系统主要通过
上下文来跟踪它们。如果您请求具有相同类型和请求代码的
pendingent
s,并且
Intent
s匹配,则无论您为后续请求附加了什么
Intent
,它们都将是相同的
pendingent
requestCode
是一种创建新的
pendingent
的方法,它与系统已经保存的内容相同。只需使用递增计数器创建新的
requestCode
s即可。你想如何追踪他们取决于你;e、 例如,
SharedReferences
,或数据库或文件等。
requestCode
是您制作的任何东西。这只是一种区分类似的
pendingent
s的方法。我当然不明白这一点。是否没有与挂起的意图关联的ID?如果他们没有id,我如何跟踪他们?或者更好的是,操作系统如何跟踪它们?我的意思是,我假设它只知道内存位置。使用它是否有意义,因为它不是唯一的
requestCode
有点像ID,在应用程序级别,只是您分配了它。操作系统主要通过
上下文来跟踪它们。如果您请求具有相同类型和请求代码的
pendingent
s,并且
Intent
s匹配,则无论您为后续请求附加了什么
Intent
,它们都将是相同的
pendingent
requestCode
是一种创建新的
pendingent
的方法,它与系统已经保存的内容相同。只需使用递增计数器创建新的
requestCode
s即可。你想如何追踪他们取决于你;e、 例如,
SharedReferences
,或数据库或文件等。
 public void setAlarm(Context context, Long affirmationTime){
        alarmManager = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
        Intent intent = new Intent(context, AlarmReceiver.class);
        alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
        alarmManager.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), affirmationTime, alarmIntent);

        ComponentName receiver = new ComponentName(context, BootReceiver.class);
        PackageManager pm = context.getPackageManager();

        pm.setComponentEnabledSetting(receiver,
                PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                PackageManager.DONT_KILL_APP);
    }
   public void cancelAlarm(Context context){
        // If the alarm has been set, cancel it.
        if (alarmManager != null) {
            alarmManager.cancel(alarmIntent);
        }
        // Disable {@code SampleBootReceiver} so that it doesn't automatically restart the
        // alarm when the device is rebooted.
        ComponentName receiver = new ComponentName(context, BootReceiver.class);
        PackageManager pm = context.getPackageManager();

        pm.setComponentEnabledSetting(receiver,
                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);
    }