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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
disx
20 / 20 / 0
Регистрация: 26.02.2014
Сообщений: 533
Записей в блоге: 1
#1

Что не так с Marshmallow? - Программирование Android

24.05.2016, 13:50. Просмотров 91. Ответов 6
Метки нет (Все метки)

1. не срабатывает именно в 6.0

Java
1
2
audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
            audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
в других версиях андроид все норм. может что-то изменилось?


2. иконка на панели уведомлений отображается как полностью белый кватдратик (такая проблема на 6.0 и 5.1, в остальных Ок)

Что не так с Marshmallow?

в чем может быть проблема?
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Pablito
2454 / 1899 / 590
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
24.05.2016, 13:52     Что не так с Marshmallow? #2
иконка одноцветная?
если нет то надо попробовать поменять на одноцветную
disx
20 / 20 / 0
Регистрация: 26.02.2014
Сообщений: 533
Записей в блоге: 1
24.05.2016, 14:04  [ТС]     Что не так с Marshmallow? #3
Паблито, нет трехцветная т.е. в этих версиях только один цвет иконки можно использовать?, а как можно указать какую иконку для какой версии показывать?


класс с методом где AudioManager, вызывается в в сервисе вот так - :

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public void setRepeatingAlarm2(int hour, int minute) {
        Intent intent = new Intent(this, Normal.class);
        pendingIntent = PendingIntent.getBroadcast(this, 0,
                intent, PendingIntent.FLAG_CANCEL_CURRENT);
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, hour);
        calendar.set(Calendar.MINUTE, minute);
        calendar.set(Calendar.SECOND, 00);
        alarmTime = calendar.getTimeInMillis();
        if (alarmTime < System.currentTimeMillis() + 500) {
            alarmTime += 24 * 60 * 60 * 1000;
        }
  
            alarm.setRepeating(AlarmManager.RTC_WAKEUP,
                    alarmTime, AlarmManager.INTERVAL_DAY,
                    pendingIntent);
 
     }
Pablito
2454 / 1899 / 590
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
24.05.2016, 14:14     Что не так с Marshmallow? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
https://developer.android.com/design...fications.html
там на картинке справа написано "white only"

лично мое мнение, не навязываю, иконки должны быть одинаковыми на всех версиях
поэтому нет смысла рисовать разные, а потом городить проверки на версию API в коде
disx
20 / 20 / 0
Регистрация: 26.02.2014
Сообщений: 533
Записей в блоге: 1
24.05.2016, 17:12  [ТС]     Что не так с Marshmallow? #5
С иконкой понятно...

а с Ringer Mode что может быть?
Pablito
2454 / 1899 / 590
Регистрация: 12.05.2014
Сообщений: 6,702
Завершенные тесты: 1
24.05.2016, 17:36     Что не так с Marshmallow? #6
а что не так?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.05.2016, 09:57     Что не так с Marshmallow?
Еще ссылки по теме:
Подскажите что я делаю не так Android
Что не так я делаю в адптаре Android
Android Что я делаю не так. Совсем нубский вoпрос.
Android Подскажите что я делаю не так. Разработка Виджета
Android Не воспринимается русский и украинский язык в эмуляторе. Что не так?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
disx
20 / 20 / 0
Регистрация: 26.02.2014
Сообщений: 533
Записей в блоге: 1
26.05.2016, 09:57  [ТС]     Что не так с Marshmallow? #7
Паблито, выяснил что до аудиоменеджера дело не доходит потомучто не срабатывает AlarmManager, попробовал так, но все равно не пашет:

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
  setRepeatingAlarm(hourOff, minuteOff, alarm);
     
 
    }
    public void setRepeatingAlarm(int hour, int minute, AlarmManager alarm) {
        Log.d(LOG_TAG, "Alarm Mess ");
        final String PERIOD = "period";
        Intent intent = new Intent(this, Vibrate.class);
//        pendingIntent = PendingIntent.getActivity(this, 0,
//                intent, PendingIntent.FLAG_CANCEL_CURRENT);
        pendingIntent = PendingIntent.getBroadcast(this, 0,
                intent, PendingIntent.FLAG_CANCEL_CURRENT);
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, hour);
        calendar.set(Calendar.MINUTE, minute);
        calendar.set(Calendar.SECOND, 00);
        alarmTime = calendar.getTimeInMillis();
        long period = intent.getLongExtra(PERIOD,-1);
     long period2 = SystemClock.elapsedRealtime();
        if (alarmTime < System.currentTimeMillis() + 500) {
            alarmTime += 24 * 60 * 60 * 1000;
        }
        if (period2 < System.currentTimeMillis() + 500) {
            period2 += 24 * 60 * 60 * 1000;
        }
    
 
        if(Build.VERSION.SDK_INT>Build.VERSION_CODES.LOLLIPOP_MR1){
          //  Log.d(LOG_TAG, "First test ");
           // if(period>0){
//                alarm.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP,
//                        SystemClock.elapsedRealtime() + period,pendingIntent);
            alarm.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                    alarmTime, pendingIntent);
 
                Log.d(LOG_TAG, "For Marshmallow ");
         //   }
 
        }else {
            alarm.setRepeating(AlarmManager.RTC_WAKEUP,
                    alarmTime, AlarmManager.INTERVAL_DAY,
                    pendingIntent);
            Log.d(LOG_TAG, "For Other ");
        }
т.е. метод запускается, и все больше ничего не происходит, проверка на версию срабатывает а alarm нет???

Добавлено через 17 часов 54 минуты
все заработало, setRepiting() в 6-ом андроиде не катит, надо так:

Java
1
2
3
4
5
6
alarmTime = calendar.getTimeInMillis();
 if (alarmTime < System.currentTimeMillis() + 500) {
            alarmTime += 24 * 60 * 60 * 1000;
        }
alarm.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, alarmTime
                        ,pendingIntent);
Yandex
Объявления
26.05.2016, 09:57     Что не так с Marshmallow?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru