设备未插入电缆进行充电 设备在15秒不活动后设置为休眠
奇怪的结果是当我将我设置为60时振动器每60秒运行一次 这是我的警报代码。
public void startAlert(View view) {
EditText text = (EditText) findViewById(R.id.time);
int i = Integer.parseInt(text.getText().toString());
Intent intent = new Intent(this, MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
this.getApplicationContext(), 234324243, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC, System.currentTimeMillis(), i*1000, pendingIntent);
Toast.makeText(this, "Alarm set in " + i + " seconds",
Toast.LENGTH_LONG).show();
}
BroadcastReceiver
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Time is up!!!!.",
Toast.LENGTH_LONG).show();
// Vibrate the mobile phone
Vibrator vibrator = (Vibrator) context
.getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(1000);
}
答案 0 :(得分:5)
你很困惑"睡觉"屏幕关闭。您无法告诉设备何时进入深度睡眠模式。
只要处理器处于活动状态,RTC
就可以正常工作。如果设备进入休眠状态(闲置10-30分钟后,视设备而定),您需要RTC_WAKEUP
。
因此,在您的情况下,您可能希望在屏幕关闭时取消警报。 有关详细信息,请参阅How can I tell if the screen is on in android?。
<强>更新强>
试一试:播放一些音乐并等待15秒。它会停止吗?不。 - &gt;设备没有睡觉。
您无法设置设备进入睡眠状态的时间,因为系统会决定。它实际上是显示睡眠&#34;。 想象一下,您正在从Play商店下载apk。如果下载停止只是因为你告诉设备“睡觉”#34; X秒后?当然不是。
菜单中的设置称为&#34;睡眠&#34;因为普通用户理解它。此设置可通过Settings.System.putInt(contentResolver, Settings.System.SCREEN_OFF_TIMEOUT, <int>)
访问。