Форум программистов, компьютерный форум, киберфорум
Наши страницы

Ошибки в коде. Alarm Manager - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Убрать клавиатуру http://www.cyberforum.ru/android-dev/thread1746612.html
Есть Navigation Activity, там EditText. Проблема в том, что если напечатать в нем что-то, а потом, не убирая клавиатуры, нажать на шторку, то шторка, выдвинувшись, окажется под клавиатурой. Как...
Программирование Android Сортировка в listview Здравствуйте, планирую разобраться с сортировкой элементов списка. Сортировка будет по идентификатору или имени каждого элемента списка. В идеале - как на скрине, чтобы при клике на кнопочку,... http://www.cyberforum.ru/android-dev/thread1746570.html
Программирование Android Семейная библиотека
Увидел в консоли разработчика новую фишку от гугл "Семейная библиотека", как то маловато информации по данной теме... (описание). С ее помощью до шести членов семьи смогут сообща пользоваться...
Программирование Android Драйвер Wi-Fi
Можете помочь?, я не как не магу поставить драйвер wifi wcn36xx на nexus 4 не где не написано как его ставить а хотя не которые уже ставили, нашёл его здесь...
Программирование Android Google-play-services_lib отсутствует в android-sdk http://www.cyberforum.ru/android-dev/thread1746265.html
Здравствуйте. Хочу использовать Google Play Game Services в своих играх. Для этого, как везде пишут нужно импортировать в директорию своих проектов google-play-services_lib который должен находится в...
Программирование Android Кнопка входа через фейсбук Дорогие форумчане, не могу не чего дельного найти по поводу этой темы. Может у котого завалялся готовый код. Киньте пожалуйста. подробнее

Показать сообщение отдельно
fraley
106 / 106 / 40
Регистрация: 24.05.2015
Сообщений: 322
29.05.2016, 14:50
Вот пример кода с TimePicker.
Будильник будет срабатывать каждые пол-часа.
Естественно можно поменять на любой другой или вообще на одноразовый.
BroadcastReceiver не вижу смысла приводить, так как каждый реализует его под себя.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
public class MainActivity extends AppCompatActivity {
 
    private final String BROADCAST_FOR_RECEIVER="your_package.name_your_receiver";
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final TimePicker timePicker=(TimePicker)findViewById(R.id.timePicker);
        timePicker.setIs24HourView(true);
        Button btnSetTime=(Button)findViewById(R.id.btnSetTime);
 
        btnSetTime.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                int hour;
                int minute;
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//M this API 23
                    hour = timePicker.getHour();
                    minute = timePicker.getMinute();
                } else {
                    hour = timePicker.getCurrentHour();
                    minute = timePicker.getCurrentMinute();
                }
 
                setClock(convertToMillisecond(hour, minute));
                ((TextView) findViewById(R.id.textView)).setText(stringBuilder(hour,minute));
            }
        });
 
    }
 
    private StringBuilder stringBuilder(int hour, int minute){
        StringBuilder alarmClock=new StringBuilder("Alarm Clock: ");
        if(hour<10) {
            alarmClock.append("0");
            alarmClock.append(hour);
        }
        else
            alarmClock.append(hour);
        alarmClock.append(":");
        if(minute<10){
            alarmClock.append("0");
            alarmClock.append(minute);
        }
        else {
            alarmClock.append(minute);
        }
        return alarmClock;
    }
 
 
    private void setClock(long timeFromTimePickeer){
 
        Calendar calendar= Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
 
        int currentHours = calendar.get(Calendar.HOUR_OF_DAY);
        int currentMinutes = calendar.get(Calendar.MINUTE);
 
        long curentTimeInMilliseconds=convertToMillisecond(currentHours, currentMinutes);
        long difference=timeFromTimePickeer-curentTimeInMilliseconds;
 
        Intent myIntent = new Intent(BROADCAST_FOR_RECEIVER);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, myIntent, 0);
        AlarmManager alarmManager = (AlarmManager) getSystemService(getApplicationContext().ALARM_SERVICE);
        alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+difference,
                AlarmManager.INTERVAL_HOUR ,pendingIntent);
        
    }
 
    private long convertToMillisecond(int hour, int minute){
        return ((hour*60+minute)*60)*1000;
    }
 
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru