标签: repeat

如何创建不同的pendingintent使filterEquals()返回false?

我正在使用AlarmManager设置重复意图,但它已经造成一些小问题,所以希望任何人都可以提供帮助.

摘要

有2个未决意图.一个运行在1000,另一个运行在每天2000.每个包含来自数据库的行id以用于识别目的.代码看起来像这样:

Intent i = new Intent(mContext, ScheduleReceiver.class);
i.putExtra(RuleDBAdapter.KEY_ROWID, (int)taskId);
PendingIntent pi =PendingIntent.getBroadcast(...);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, when.getTimeInMillis(), pi); 
Run Code Online (Sandbox Code Playgroud)

删除:

问题是我们需要删除其中一个.删除待处理意图的正确方法是设置相同的意图,然后从AlarmManager调用cancel.

Android文档:

public void cancel(PendingIntent operation)
删除具有匹配Intent的所有警报.任何类型的警报,其Intent与此匹配的警报(由filterEquals(Intent)定义)将被取消.

public boolean filterEquals(Intent other)
确定两个意图是否相同以进行意图解析(过滤).也就是说,如果他们的行为,数据,类型,类别和类别是相同的.这不会比较意图中包含的任何额外数据.

所以在上面的例子中,如果我做出相同的意图然后取消,上述两个意图将被取消,因为它们来自同一个类/相同的动作等(除了"额外"数据是rowId但filterEquals不关心额外数据).

这有什么解决方法吗?

android repeat alarmmanager android-pendingintent

20
推荐指数
1
解决办法
7671
查看次数

在JavaScript中多次重复多个元素的数组

在JavaScript中,如何以简洁的方式重复包含多个元素的数组?

在Ruby中,你可以做到

irb(main):001:0> ["a", "b", "c"] * 3
=> ["a", "b", "c", "a", "b", "c", "a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

我查了一下lodash库,没找到任何直接适用的东西.功能请求:重复数组.是一个将其添加到lodash的功能请求,以及给出的最佳解决方法

const arrayToRepeat = [1, 2, 3];
const numberOfRepeats = 3;
const repeatedArray = _.flatten(_.times(numberOfRepeats, _.constant(arrayToRepeat)));
Run Code Online (Sandbox Code Playgroud)

问题创建零填充JavaScript数组的最有效方法?创建一个具有相同元素重复多次的数组,专注于多次重复单个元素,而我想重复一个具有多个元素的数组.

使用维护良好的库是可以接受的.

javascript arrays repeat

20
推荐指数
4
解决办法
3936
查看次数

Android - 即使应用程序未运行,也每15分钟运行一次后台任务

我需要构建一个每10/15分钟运行一次的后台任务(并不重要,或者是好的),即使应用程序没有运行也是如此.

我怎么能做到这一点?我似乎无法绕过这个.

我读过我可以使用某种runnable()功能或使用后台服务或AlarmManager.我在考虑后台服务,因为它也必须在应用程序本身未运行时完成.

什么是更好的方法,我怎么能这样做?

java service android repeat

19
推荐指数
1
解决办法
2万
查看次数

重复numpy数组的每个元素5次

import numpy as np

data = np.arange(-50,50,10)
print data

[-50 -40 -30 -20 -10   0  10  20  30  40]
Run Code Online (Sandbox Code Playgroud)

我想重复数据的每个元素5次,并按如下方式创建新数组:

ans = [-50 -50 -50 -50 -50 -40 -40 ... 40]
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

怎么样重复整个阵列5次?

ans =  [-50 -40 -30 -20 -10   0  10  20  30  40 -50 -40 -30 -20 -10   0  10  20  30  40 -50 -40 -30 -20 -10   0  10  20  30  40 -50 -40 -30 -20 -10   0  10  20  30  40 -50 -40 -30 -20 -10 …
Run Code Online (Sandbox Code Playgroud)

python arrays numpy repeat

19
推荐指数
2
解决办法
2万
查看次数

Matlab中的元素阵列复制

假设我有一维数组:

a = [1, 2, 3];
并复制数组的每个元素n次?

例如,n应该返回replicate(a, 3).

请注意,这与...完全不同[1,1,1,2,2,2,3,3,3].我当然可以repmat通过replicate对每个元素进行实现并连接结果来实现,但我想知道是否有更高效的内置函数.

arrays matlab repeat run-length-encoding elementwise-operations

18
推荐指数
3
解决办法
1万
查看次数

将UIToolBar添加到所有键盘(swift)

我正在尝试向所有键盘添加自定义UIToolBar,重复次数很少.我目前正在这样做的方式要求我将代码添加到我的所有viewDidLoads并将每个textfield的委托分配给我正在使用的viewController.我已经尝试创建自己的UIToolBar子类,但是当我的"完成"和"取消"按钮的目标是自我视图时,我发现我无法真正做到这一点.有没有人有任何关于创建一个易于重复使用的工具栏的建议?提前致谢.

override func viewDidLoad() {
    super.viewDidLoad()

    var toolBar = UIToolbar()
    toolBar.barStyle = UIBarStyle.Default
    toolBar.translucent = true
    toolBar.tintColor = UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
    var doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Done, target: self, action: "donePressed")
    var cancelButton = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: "cancelPressed")
    var spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
    toolBar.setItems([cancelButton, spaceButton, doneButton], animated: false)
    toolBar.userInteractionEnabled = true
    toolBar.sizeToFit()

    stateField.inputAccessoryView = toolBar
    stateField.delegate = self
Run Code Online (Sandbox Code Playgroud)

repeat uitoolbar uibarbuttonitem ios swift

18
推荐指数
2
解决办法
2万
查看次数

重复数组元素的副本:在MATLAB中运行长度解码

我正在尝试使用'values'数组和'counter'数组将多个值插入到数组中.例如,如果:

a=[1,3,2,5]
b=[2,2,1,3]
Run Code Online (Sandbox Code Playgroud)

我想要一些功能的输出

c=somefunction(a,b)
Run Code Online (Sandbox Code Playgroud)

成为

c=[1,1,3,3,2,5,5,5]
Run Code Online (Sandbox Code Playgroud)

其中a(1)重复b(1)次,a(2)重复b(2)次等等...

MATLAB中是否有内置函数来执行此操作?如果可能的话,我想避免使用for循环.我尝试过'repmat()'和'kron()'的变体无济于事.

这基本上是Run-length encoding.

arrays matlab vectorization repeat run-length-encoding

16
推荐指数
4
解决办法
4099
查看次数

如何检查我的数组中是否有重复的值?

所以这是我的阵列.

double[] testArray = new double[10];
// will generate a random numbers from 1-20, too lazy to write the code
Run Code Online (Sandbox Code Playgroud)

我想创建一个搜索循环来检查是否有重复的值.我怎么做?

我宁愿不使用任何特殊的内置方法,因为这是一个小数组.

c# arrays repeat

16
推荐指数
1
解决办法
3万
查看次数

如何在记事本++中重复这一行?

如何在记事本++中重复这一行?

例如,我有以下输入:

a 01
a 02
a 03
a 04
Run Code Online (Sandbox Code Playgroud)

我希望它成为:

a 01
a 01
a 02
a 02
a 03
a 03
a 04
a 04
Run Code Online (Sandbox Code Playgroud)

所以每行应该显示两次.

lines notepad++ repeat

16
推荐指数
4
解决办法
2万
查看次数

R重复功能直到满足条件

我正在尝试生成一个排除某些"不良数据"的随机样本.在我对其进行采样之前,我不知道数据是否"糟糕".因此,我需要从人群中随机抽取然后进行测试.如果数据"好",那么保留它.如果数据"不好",则随机抽取另一个并测试它.我想这样做,直到我的样本大小达到25.下面是我尝试编写一个函数的简化示例.谁能告诉我我错过了什么?

df <- data.frame(NAME=c(rep('Frank',10),rep('Mary',10)), SCORE=rnorm(20))
df

random.sample <- function(x) {
  x <- df[sample(nrow(df), 1), ]
  if (x$SCORE > 0) return(x)
 #if (x$SCORE <= 0) run the function again
}

random.sample(df)
Run Code Online (Sandbox Code Playgroud)

r function repeat conditional-statements

15
推荐指数
1
解决办法
4万
查看次数