我知道在生产设备AlarmManager
中,不能超过1 /分钟触发 manager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() - 10000, 60000, pendingIntent)
。这很好,但是对于测试我想要很短的时间。
public void until(final Predicate<T> isTrue) {
until(new Function<T, Boolean>() {
public Boolean apply(T input) {
return isTrue.apply(input);
}
public String toString() {
return isTrue.toString();
}
});
}
有一些解决方法吗?建议的测试程序是什么?
答案 0 :(得分:1)
Android设备不会以小于约1到2分钟的间隔触发重复警报(某些设备具有更严格的规则)。如果您希望更频繁地触发警报,则必须使用单个(非重复)警报,尽可能使用public static int reverse(int r, int n, int k){
if(r==0)
return 0;
else
return + (r%10) * (int)Math.pow(10, (n-k-1))+reverse (r/10, n, k+1)
}
public static void main(String[] args) {
System.out.println(reverse(1234, 4, 0));
}
,然后在警报响起时设置下一个警报。通过这种方式,您可以通过更精确的计时获得更短的间隔。
答案 1 :(得分:1)
通常,您不必测试广播接收器。 (如果我知道正确。如果不正确,请编辑!)
您应该测试应该显示的活动/课程的功能。 您可以通过以下方式做到这一点:
@get:Rule
val rule = ActivityTestRule(YourActivity::class.java)
这将开始您(给定的)活动,现在您可以测试您的功能了。
(用于启动活动/意图的更多选项:https://stackoverflow.com/a/61082715/11211963)