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

Снова Alarm Manager: как запустить на API выше 19-го? - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Динамическое изменение положения объектов http://www.cyberforum.ru/android-dev/thread1746048.html
Есть текстовое поле под ним изображение, как сделать чтобы при изменении количества строк изображение смещалась?
Программирование Android Продажа мобильного приложения Все привет. Хочу продать свое приложение из плей маркета, есть покупатель. Может кто скинуть шаблон договора для подобной сделки? Какие моменты нужно отдельно осветить? http://www.cyberforum.ru/android-dev/thread1745946.html
Программирование Android Библиотека android для конвертации pdf в картинку
Работал кто или сталкивался с такой потребностью? может подсказать ссылку на библиотеку?
Программирование Android Игральные кости 3D
Везде искал но не смог найти то как сделать трехмерные игральные кости для своей игры под андроид, такие чтобы: 1) бросать от "пальца" 2) не повторяющаяся анимация. Кто-нибудь делал такое? Если да...
Программирование Android Не воспроизводит звук http://www.cyberforum.ru/android-dev/thread1745772.html
Помогите пожалуйста настроить воспроизведение звука через 2 кнопки. Музыка включается при нажатие на кнопку включения звука "Button1" , а при нажатии на кнопку отключения звука "Button2" ничего не...
Программирование Android Преобразование 2 форматов дат к одному Есть 2 строки: String s1 = "26 мая 2016"; String s2 = "26 may 2016"; Можно ли их как то преобразовать к формату "2016.05.26"? Есть ли стандартные решения, или какие то библиотеки? подробнее

Показать сообщение отдельно
disx
22 / 22 / 0
Регистрация: 26.02.2014
Сообщений: 552
Записей в блоге: 1
31.05.2016, 20:35  [ТС]
проверил что код из параллельной темы предоставленный товарищем fraley (за что ему отдельное спасибо)

Кликните здесь для просмотра всего текста
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
package com.dis.alarm;
 
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;
 
import java.util.Calendar;
 
public class MainActivity extends AppCompatActivity {
    private final String BROADCAST_FOR_RECEIVER="com.dis.alarm.MyReceiver";
    public String LOG_TAG = "myLogs";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final TimePicker timePicker=(TimePicker)findViewById(R.id.timePicker);
        timePicker.setIs24HourView(true);
        Button btnSetTime=(Button)findViewById(R.id.button);
 
        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());
        Log.d(LOG_TAG, "SetClock is Work!");
        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);
        Intent myIntent = new Intent(this, MyReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, myIntent, 0);
        AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+difference,
                AlarmManager.INTERVAL_HALF_HOUR ,pendingIntent);
 
    }
 
    private long convertToMillisecond(int hour, int minute){
        return ((hour*60+minute)*60)*1000;
    }
 
}

действительно работает на API19 - 23 (на 10-м и 17-м не пошел )

но моя проблема именно в том что ни мой код ни вышеприведенный не работает на эмуляторе, Genymotion Samsung Galaxy S6 и на реальном Samsung Galaxy S6 в чем может быть загвоздка?

(встроенный в студию эмулятор напр. Nexus S отлично отрабатывает а Samsung нет???!)

Добавлено через 9 часов 34 минуты
с как вообще "заточить" программу под определенное устройство(если это надо)? и вообще почему API 23 может не работать на разных устройствах? вроде новые апи как-то совершеннее должны быть, а тут такой косяк ...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru