TrackChecker
https://forum.trackchecker.ru/

Интеграция с com.sec.badge
https://forum.trackchecker.ru/viewtopic.php?f=23&t=2131
Page 1 of 1

Author:  micklesbox [ Thu Jun 23, 2016 1:41 pm ]
Post subject:  Интеграция с com.sec.badge

Здравствуйте!

Обращаюсь к разработчику.

В программе реализована интеграция с TeslaUnread API. Собственно, прошу реализовать интеграцию с com.sec.badge. Помимо того, что и TeslaUnread сама может пользоваться com.sec.badge, еще этим сервисом пользуются и производители, например, Samsung, HTC, Sony...

Правда, судя по коду, вижу, что что-то есть, однако, очень странно себя ведет. У меня Самсунг и я пользуюсь Nova Launcher (c TeslaUnread). Соответственно, Nova бэйдж выводит. Однако, когда я замораживаю Nova Launcher и перехожу на ТачВиз от Самсунга, бэйджа у программы, к сожалению, нет.

Сам я так же являюсь разработчиком под андроид и написал программку, которая выводит кол-во непрочитанных для сервиса com.sec.badge. Ваша программа там присутствует, однако, сколько бы не было непросмотренных событий в программе, в сервисе com.sec.badge присутствует "0".

Возможно, это так реализовано, что при наличии Nova сервис com.sec.badge отключен в Вашей программе, в таком случае прошу рассмотреть возможность главенства сервиса com.sec.badge над TeslaUnread либо какую-то их совместную адекватную работу).

В настоящее время занимаюсь модификацией модуля Allways On Display для Samsung S7. Сделал вывод всевозможных счетчиков и хотелось бы, что бы и Ваша программа там отображалась. Однако, учитывая вышесказанное, она появляется в настройках AOD, но не выводится, так как имеет в счетчике com.sec.badge постоянный ноль.(((

Author:  MetalFan [ Fri Jun 24, 2016 10:42 am ]
Post subject:  Re: Интеграция с com.sec.badge

Доброго времени суток. Для работы с бейджами используется сторонний компонент... Надо глянуть, может были какие обновления.

Author:  micklesbox [ Tue Jun 28, 2016 1:43 pm ]
Post subject:  Re: Интеграция с com.sec.badge

MetalFan,
доброго времени суток..)))

Прошу прощения, я покопался в коде программы в части этого "стороннего компонента"... Очень странно там сделано так, что, если стоит один из лончеров, типа Nova, или ADW, или подобный со своими бэйджами, то интент на com.sec.badge не подается... Я понимаю, это сделано для исключения повторов и неправильных выводов, но, на сколько мне известно, у основных лончеров есть от этого защита. В общем, я добавил дополнительную отсылку интента. У меня в системе стоит Nova и родной Тачвиз от Самсунга. Теперь показывают оба правильно, если переключаться.

Если интересно, то я сделал сл.:
в классе "b.a.a.c" добавил функию:
Code:
    public static void sendBadge(Context paramContext, int paramInt)
    {
        ComponentName paramComponentName = paramContext.getPackageManager().getLaunchIntentForPackage(paramContext.getPackageName()).getComponent();
        Intent localIntent = new Intent("android.intent.action.BADGE_COUNT_UPDATE");
        localIntent.putExtra("badge_count", paramInt);
        localIntent.putExtra("badge_count_package_name", paramComponentName.getPackageName());
        localIntent.putExtra("badge_count_class_name", paramComponentName.getClassName());
        paramContext.sendBroadcast(localIntent);
    }

ну и сам вызов этой функции добавил в самое начало функции a, которая с двумя аргументами:
Code:
    public static boolean a(Context paramContext, int paramInt)
    {
        sendBadge(paramContext, paramInt);
...

Page 1 of 1 All times are UTC + 3 hours
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/