|
0 / 0 / 0
Регистрация: 12.12.2015
Сообщений: 56
|
||||||
не срабатывает будильник при заблокированном экране24.12.2016, 18:48. Показов 1798. Ответов 0
Метки нет (Все метки)
Добрый вечер.
в манифесте
[JAVA] @Override protected void onCreate(Bundle icicle) { super.onCreate(icicle); AlarmAlertWakeLock.acquire(this); Log.v("AlarmAlert.onCreate()"); setWindowSettings(); releaseWakeLock(); acquireWakeLock(); WindowManager.LayoutParams lp = getWindow().getAttributes(); lp.width = ViewGroup.LayoutParams.WRAP_CONTENT; lp.height = ViewGroup.LayoutParams.WRAP_CONTENT; lp.type = WindowManager.LayoutParams.TYPE_SYSTEM_A LERT; lp.token = null; getWindow().setAttributes(lp); getWindow().addFlags(WindowManager.Layou tParams.FLAG_DIM_BEHIND); mKeyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVIC E); Intent i = getIntent(); mAlarmId = i.getIntExtra(Alarms.ID, -1); Alarms.getAlarm(getContentResolver(), this, mAlarmId); mKlaxon = new AlarmKlaxon(); mKlaxon.postPlay(this, mAlarmId); setTitleFromIntent(i); Alarms.disableSnoozeAlert(AlarmAlert.thi s); Alarms.disableAlert(AlarmAlert.this, mAlarmId); Alarms.setNextAlert(this); mKlaxon.setKillerCallback(new AlarmKlaxon.KillerCallback() { public void onKilled() { if (Log.LOGV) Log.v("onKilled()"); updateSilencedText(); mSnoozeButton.setEnabled(false); dismiss(); mState = KILLED; } }); updateLayout(); SharedPreferences settings = getSharedPreferences(AlarmClock.PREFEREN CES, 0); if (settings.getBoolean(AlarmClock.PREF_SHA KE_SNOOZE, true)) { mShakeListener = new ShakeListener(this); mShakeListener.setOnShakeListener(new ShakeListener.OnShakeListener() { public void onShake() { snooze(); if (mCaptchaSnooze == 0) finish(); } }); } } private void setTitleFromIntent(Intent i) { mLabel = i.getStringExtra(Alarms.LABEL); if (mLabel == null || mLabel.length() == 0) { mLabel = getString(R.string.default_label); } setTitle(mLabel); } private void setWindowSettings() { getWindow().addFlags(WindowManager.Layou tParams.FLAG_SHOW_WHEN_LOCKED); getWindow().addFlags(WindowManager.Layou tParams.FLAG_TURN_SCREEN_ON); getWindow().addFlags(WindowManager.Layou tParams.FLAG_KEEP_SCREEN_ON); int currentOrientation = getResources().getConfiguration().orient ation; if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) { setRequestedOrientation(ActivityInfo.SCR EEN_ORIENTATION_SENSOR_LANDSCAPE); } else { setRequestedOrientation(ActivityInfo.SCR EEN_ORIENTATION_SENSOR_PORTRAIT); }} public void acquireWakeLock() { PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); mWakeLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUS ES_WAKEUP | PowerManager.ON_AFTER_RELEASE | PowerManager.PARTIAL_WAKE_LOCK, "alarming_wakelock"); mWakeLock.acquire(); } public void releaseWakeLock() { if (mWakeLock != null) { if (mWakeLock.isHeld()) { mWakeLock.release(); mWakeLock = null; } } } private void updateSilencedText() { TextView silenced = (TextView) findViewById(R.id.silencedText); silenced.setText(getString(R.string.alar m_alert_alert_silenced, mDuration / 1000*60)); silenced.setVisibility(View.VISIBLE); } private void updateLayout() { setContentView(R.layout.alarm_alert); AlarmAlertWakeLock.acquire(this); LayoutInflater mFactory = LayoutInflater.from(this); SharedPreferences settings = getSharedPreferences(AlarmClock.PREFEREN CES, 0); int face = settings.getInt(AlarmClock.PREF_CLOCK_FA CE, 0); if (face < 0 || face >= AlarmClock.CLOCKS.length) { face = 0; } View clockLayout = (View) mFactory.inflate(AlarmClock.CLOCKS[face], null); ViewGroup clockView = (ViewGroup) findViewById(R.id.clockView); clockView.addView(clockLayout); if (clockLayout instanceof DigitalClock) { ((DigitalClock) clockLayout).setAnimate(); } mSnoozeButton = (Button) findViewById(R.id.snooze); if (mSnooze > 0) { mSnoozeButton.requestFocus(); mSnoozeButton.setVisibility(View.VISIBLE ); } else { // hide the snooze button if snooze disabled for this alarm mSnoozeButton.setVisibility(View.GONE); } if (mState == KILLED) { updateSilencedText(); mSnoozeButton.setEnabled(false); } else { mSnoozeButton.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { snooze(); if (mCaptchaSnooze == 0) finish(); } }); } findViewById(R.id.dismiss).setOnClickLis tener( new Button.OnClickListener() { public void onClick(View v) { dismiss(); if (mCaptchaDismiss == 0) finish(); } }); } private void snooze() { if (mState != UNKNOWN) { return; } if (mSnooze == 0) { // snooze disabled for this alarm return; } if (mCaptchaSnooze != 0 && !mCaptchaDone) { show_captcha(mCaptchaSnooze, SNOOZE); return; } final long snoozeTime = System.currentTimeMillis() + (1000 * 60 * mSnooze); final long nextAlarm = Alarms.calculateNextAlert(AlarmAlert.thi s).getAlert(); String displayTime = null; if (nextAlarm < snoozeTime) { final Calendar c = Calendar.getInstance(); c.setTimeInMillis(nextAlarm); displayTime = getString(R.string.alarm_alert_snooze_no t_set, Alarms.formatTime(AlarmAlert.this, c)); mState = DISMISS; } else { Alarms.saveSnoozeAlert(AlarmAlert.this, mAlarmId, snoozeTime, mLabel); Alarms.setNextAlert(AlarmAlert.this); displayTime = getString(R.string.alarm_alert_snooze_se t, mSnooze); mState = SNOOZE; } Log.v(displayTime); Toast.makeText(AlarmAlert.this, displayTime, Toast.LENGTH_LONG).show(); mKlaxon.stop(this, mState == SNOOZE); releaseLocks(); finish(); } private void dismiss() { if (mState != UNKNOWN) { return; } if (mCaptchaDismiss != 0 && !mCaptchaDone) { show_captcha(mCaptchaDismiss, DISMISS); return; } mState = DISMISS; mKlaxon.stop(this, false); releaseLocks(); finish(); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); AlarmAlertWakeLock.acquire(this); if (Log.LOGV) Log.v("AlarmAlert.OnNewIntent()"); mState = UNKNOWN; mSnoozeButton.setEnabled(true); disableKeyguard(); mAlarmId = intent.getIntExtra(Alarms.ID, -1); mKlaxon.postPlay(this, mAlarmId); setTitleFromIntent(intent); TextView silenced = (TextView)findViewById(R.id.silencedText ); silenced.setVisibility(View.GONE); Alarms.setNextAlert(this); setIntent(intent); } @Override protected void onResume() { super.onResume(); if (Log.LOGV) Log.v("AlarmAlert.onResume()"); disableKeyguard(); if (mShakeListener != null) mShakeListener.resume(); } @Override protected void onStop() { super.onStop(); AlarmAlertWakeLock.acquire(this); if (Log.LOGV) Log.v("AlarmAlert.onStop()"); snooze(); releaseLocks(); if (mShakeListener != null) mShakeListener.pause(); } @Override public void onConfigurationChanged(Configuration config) { super.onConfigurationChanged(config); updateLayout(); } @Override public boolean dispatchKeyEvent(KeyEvent event) { boolean up = event.getAction() == KeyEvent.ACTION_UP; boolean dismiss = false; switch (event.getKeyCode()) { case KeyEvent.KEYCODE_DPAD_UP: case KeyEvent.KEYCODE_DPAD_DOWN: case KeyEvent.KEYCODE_DPAD_LEFT: case KeyEvent.KEYCODE_DPAD_RIGHT: case KeyEvent.KEYCODE_DPAD_CENTER: case KeyEvent.KEYCODE_ENDCALL: break; case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: dismiss = true; default: if (mState == UNKNOWN && up) { if (dismiss) { dismiss(); } else { snooze(); } } return true; } return super.dispatchKeyEvent(event); } private synchronized void enableKeyguard() { if (mKeyguardLock != null) { mKeyguardLock.reenableKeyguard(); mKeyguardLock = null; } } private synchronized void disableKeyguard() { if (mKeyguardLock == null) { mKeyguardLock = mKeyguardManager.newKeyguardLock(Log.LOG TAG); mKeyguardLock.disableKeyguard(); } } private synchronized void releaseLocks() { AlarmAlertWakeLock.release(); enableKeyguard(); } public void reportAlarm( int idx, boolean enabled, int hour, int minutes, Alarms.DaysOfWeek daysOfWeek, boolean vibrate, String message, String alert, int snooze, int duration, int delay, boolean vibrate_only, int volume, int crescendo, int captcha_snooze, int captcha_dismiss ) { mSnooze = snooze; mCaptchaSnooze = captcha_snooze; mCaptchaDismiss = captcha_dismiss; mDuration = duration; updateLayout(); } private void show_captcha(int captcha_type, int which_state) { CaptchaInterface captcha; if (captcha_type == Alarms.CAPTCHA_TYPE_PUZZLE) { captcha = new PuzzleCaptcha(this); } else if (captcha_type == Alarms.CAPTCHA_TYPE_MATH) { captcha = new MathCaptcha(this); } else return; if (mCaptchaShown) return; mCaptchaShown = true; final int which = which_state; captcha.setOnCorrectListener(new CaptchaInterface.OnCorrectListener() { public void onCorrect() { mCaptchaDone = true; if (which == SNOOZE) { snooze(); } else if (which == DISMISS) { dismiss(); } finish(); } }); ((Dialog)captcha).setOnDismissListener(n ew DialogInterface.OnDismissListener() { public void onDismiss(DialogInterface dialog) { mCaptchaShown = false; } }); captcha.show(); } } [JAVA] Будильник не срабатывает при заблокированном экране. Помогите найти ошибку.
0
|
||||||
| 24.12.2016, 18:48 | |
|
Ответы с готовыми решениями:
0
Вибрация при заблокированном экране Выполнение скрипта при заблокированном экране Программа которая снимала бы видео на телефон при заблокированном экране и пока не разблокируешь нельзя удалить |
| 24.12.2016, 18:48 | |
|
Помогаю со студенческими работами здесь
1
Не срабатывает будильник PCF8583 не срабатывает будильник Как добавить мелодию по выбору в будильник, когда он срабатывает? Как при заблокированном копировании из PDF файла извлечь текст? Защита Windows от взлома пароля (при включенном компе и заблокированном входе в учётку) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|