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

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

Войти
Регистрация
Восстановить пароль
 
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
#1

Android.permission.GET_TASKS - Программирование Android

15.12.2015, 20:51. Просмотров 341. Ответов 13
Метки нет (Все метки)

В приложениии есть сервис. Нужно чтоб
а) показывал уведомление когда приложение не активно
б) не показывал уведомление когда приложение активно (активити на экране)
Java
1
2
3
4
5
6
List<RunningTaskInfo> tasks = am.getRunningTasks(1);
if (!tasks.isEmpty()) {
    ComponentName topActivity = tasks.get(0).topActivity;
    if (topActivity.getPackageName().contains("hh.rube"))
        return;
}
А т.к. с api 21 deprecated то как переделать? Тем более минус один пермишн будет.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2015, 20:51     Android.permission.GET_TASKS
Посмотрите здесь:

Android 6.0 permission - Программирование Android
Подскажите, пожалуйста, как лучше в андроид 6.0 добавить все необходимые разрешения, чтобы код был оптимальным? Есть вот такой...

Публикация на google play с android.permission-group.SYSTEM_TOOLS - Программирование Android
День добрый. Пишется проект для работы которого используются пермишены android.permission-group.SYSTEM_TOOLS. Тут подсказали, что могут...

Java.lang.SecurityException: Neither user 10005 nor current process has android.permission.PACKAGE_USAGE_STATS - Программирование Android
Здравствуйте! Как повиксить? java.lang.SecurityException: Neither user 10005 nor current process has...

Permission denied (missing INTERNET permission?) - Программирование Android
В общем только учусь программированию на андройд. Вышла вот такая ошибка. Хотя в манифесте стоит запрос доступа к интернету &lt;?xml...

WRITE_SETTINGS permission - Программирование Android
Господа знатоки, в приложении на действии добавления данных в БД выходит ошибка E/AndroidRuntime: FATAL EXCEPTION: main ...

Permission Denial: receiving Intent - Программирование Android
Добрый вечер. Цель - после перезагрузки запускать Alarm, но он не запускается. System Process выдаёт вот это Manifest ...

Не создается папка - Permission denied - Программирование Android
Хотел создать папку или файл в /data/, но папка там не создаётся, а при попытке записи файла в /data/ выскакивает ошибка...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
15.12.2015, 23:51     Android.permission.GET_TASKS #2
Rube, http://stackoverflow.com/a/27140347 тут посмотрите, может поможет
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
16.12.2015, 13:09  [ТС]     Android.permission.GET_TASKS #3
Читал там, не то что нужно. Перефразирую, как узнать из сервиса запущена ли в данный момент активити?
Сервис и активити - одного приложения.
Без Android.permission.GET_TASKS и onStart и onResume.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
16.12.2015, 13:16     Android.permission.GET_TASKS #4
а почему не сообщать в onPause и onResume сервису что активити запустилось или остановилось?
или я не понял задачу
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
16.12.2015, 13:42  [ТС]     Android.permission.GET_TASKS #5
Сервис может быть запущен из alarmmanagerа, активити в это время нету.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
16.12.2015, 13:47     Android.permission.GET_TASKS #6
Цитата Сообщение от Rube Посмотреть сообщение
Сервис может быть запущен из alarmmanagerа, активити в это время нету.
Ну по умолчанию значит значение в false, активити запускается ставит в true, в onPause обратно в false. Но если вдруг сервис может быть запущен после запуска активити пока она активна - он будет считать что активити не активна.

Добавлено через 2 минуты
можно вообще флаг этот в sharedPreferencess хранить. Создать активити от которой все остальные унаследовать и менять там в onResume, onPause значение. А в сервисе чекать его из того же sharedPreferencess. В таком случае можно будет по всему приложению знать запущена уже активити или нет.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
16.12.2015, 13:52  [ТС]     Android.permission.GET_TASKS #7
Я ж написал без onPause и прочее. Так то с переменной нет вопросов. Именно программное определение хочется.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
16.12.2015, 13:54     Android.permission.GET_TASKS #8
Цитата Сообщение от Rube Посмотреть сообщение
Я ж написал без onPause и прочее
Эммм а зачем? Чет не вижу причин почему это плохо.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
16.12.2015, 14:01  [ТС]     Android.permission.GET_TASKS #9
Spelcrawler, т.к. onPause сработает при переходе на другую активити.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
16.12.2015, 14:03     Android.permission.GET_TASKS #10
Цитата Сообщение от Rube Посмотреть сообщение
onPause сработает при переходе на другую активити.
Ну правильно, а другая активити в onResume опять флаг поменяет)
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
16.12.2015, 14:13  [ТС]     Android.permission.GET_TASKS #11
Флаг статик, андроид прибьет приложение, флага вообще не будет. Тут надо все учесть, все посчитать, в каждую on каждой активити записать инициализацию. Геморой детектед. Надо по феншую.
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
16.12.2015, 14:17     Android.permission.GET_TASKS #12
Rube, ну я же написал по фен шую). Создаем флаг не в статик поле, а в SharedPreferencess. Далее создаем BaseActivity, в которой переопределяем методы onResume и onPause (в них меняем флаг в SharedPreferencess). Далее наследуем ВСЕ активити приложения от этой BaseActivity. И все - у нас всегда правильный флаг в SharedPreferencess, его никто никогда не прибьет и доступ к нему из любого места приложения.
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,070
16.12.2015, 14:25  [ТС]     Android.permission.GET_TASKS #13
Spelcrawler, ну если ничего не найду то так и сделаю. Но должно же быть решение, приложение же одно, а значит context общий и для активити и для сервиса.
Читаю пока stackoverflow.com/questions/20594936/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2015, 14:34     Android.permission.GET_TASKS
Еще ссылки по теме:

Android L - Программирование Android
Привет всем дорогие друзья. Меня вот что интересует. Знаю что достаточно времени назад вышел L для разработчиков. Гайды по оформлению и...

Android - Программирование Android
пишу приложение на андроид (не давно начал изучать) как сделать в андроид приложении 1+2=? при нажатии на imagebutton(1.2.3) чтоб вместо...

C# and Android - Программирование Android
Здравствуйте. Появилась задача - разработать приложение на шарпе под андроид. Хотелось бы узнать опыт коллег, которые делали подобное. ...

Android - Программирование Android
Пишу программу первый раз(HelloWorld). Программа написана без ошибок, но Android SDK не отображает ее. Сам SDK включается но написанная...

Android - Программирование Android
Всем доброго времени суток! Есть вопрос! Код приложения который написан на эклипсе например игра! Если этот код использовать в Андроид...


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

Или воспользуйтесь поиском по форуму:
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
16.12.2015, 14:34     Android.permission.GET_TASKS #14
все делать в одной активити на фрагментах
тогда можно сервису маячить хоть интентами, хоть через интерфейсы хоть через sharedprefs
Yandex
Объявления
16.12.2015, 14:34     Android.permission.GET_TASKS
Ответ Создать тему
Опции темы

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