Здравствуйте!
Обращаюсь к разработчику.
В программе реализована интеграция с 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 постоянный ноль.(((
Интеграция с com.sec.badge
Moderator: Moderators
-
MetalFan
- Administator
- Posts: 9143
- Joined: Fri Sep 14, 2012 9:50 am
- Location: Moscow
- Has thanked: 348 times
- Been thanked: 943 times
Re: Интеграция с com.sec.badge
Доброго времени суток. Для работы с бейджами используется сторонний компонент... Надо глянуть, может были какие обновления.
wbw, MetalFan
-
micklesbox
- Posts: 2
- Joined: Thu Jun 23, 2016 1:08 pm
Re: Интеграция с com.sec.badge
MetalFan,
доброго времени суток..)))
Прошу прощения, я покопался в коде программы в части этого "стороннего компонента"... Очень странно там сделано так, что, если стоит один из лончеров, типа Nova, или ADW, или подобный со своими бэйджами, то интент на com.sec.badge не подается... Я понимаю, это сделано для исключения повторов и неправильных выводов, но, на сколько мне известно, у основных лончеров есть от этого защита. В общем, я добавил дополнительную отсылку интента. У меня в системе стоит Nova и родной Тачвиз от Самсунга. Теперь показывают оба правильно, если переключаться.
Если интересно, то я сделал сл.:
в классе "b.a.a.c" добавил функию:
ну и сам вызов этой функции добавил в самое начало функции a, которая с двумя аргументами:
доброго времени суток..)))
Прошу прощения, я покопался в коде программы в части этого "стороннего компонента"... Очень странно там сделано так, что, если стоит один из лончеров, типа Nova, или ADW, или подобный со своими бэйджами, то интент на com.sec.badge не подается... Я понимаю, это сделано для исключения повторов и неправильных выводов, но, на сколько мне известно, у основных лончеров есть от этого защита. В общем, я добавил дополнительную отсылку интента. У меня в системе стоит Nova и родной Тачвиз от Самсунга. Теперь показывают оба правильно, если переключаться.
Если интересно, то я сделал сл.:
в классе "b.a.a.c" добавил функию:
Code: Select all
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);
}Code: Select all
public static boolean a(Context paramContext, int paramInt)
{
sendBadge(paramContext, paramInt);
...