Ash*_*awy -3 android alarmmanager
虽然这个问题在SO上一遍又一遍地重复,但是没有解决方案正常工作,在下面的代码中,它应该在启动我的活动10秒后第一次触发,但它会立即启动.我正在使用FLAG_UPDATE_CURRENT,所以没有过去的时间立即开火,因为我没有按特定的小时/分钟/秒设置它.你能不能把我的注意力集中在我所缺少的东西上.
我正在测试Android 5.0 Targeting API 4.0+
targetSdkVersion 23
Intent myIntent = new Intent(this, check.class);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Run Code Online (Sandbox Code Playgroud)
am.setRepeating(AlarmManager.RTC,10000,(AlarmManager.INTERVAL_DAY/8),pi);
这是我在AndroidManifest.xml中的check.class
<receiver
android:name=".Check"
android:exported="false" />
Run Code Online (Sandbox Code Playgroud)
10000在实时时钟总是在过去,所以你的警报立即触发.您希望System.currentTimeMillis() + 10000作为setRepeating()调用中的第二个参数.
我想指出setRepeating(),KitKat是不精确的,因此警报触发的实际时间可能会消失.如果重要,请使用该setExact()方法,每次触发时再次设置警报所需的时间间隔.
| 归档时间: |
|
| 查看次数: |
404 次 |
| 最近记录: |