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

Android.permission.GET_TASKS - Android

Войти
Регистрация
Восстановить пароль
 
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
15.12.2015, 20:51     Android.permission.GET_TASKS #1
В приложениии есть сервис. Нужно чтоб
а) показывал уведомление когда приложение не активно
б) не показывал уведомление когда приложение активно (активити на экране)
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 Android
Android и С++ Android
Android Permission denied (missing INTERNET permission?)
С++ и android Android
Android Android
Android Не создается папка - Permission denied
Android с 0 Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
15.12.2015, 23:51     Android.permission.GET_TASKS #2
Rube, http://stackoverflow.com/a/27140347 тут посмотрите, может поможет
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
16.12.2015, 13:09  [ТС]     Android.permission.GET_TASKS #3
Читал там, не то что нужно. Перефразирую, как узнать из сервиса запущена ли в данный момент активити?
Сервис и активити - одного приложения.
Без Android.permission.GET_TASKS и onStart и onResume.
Паблито
не спать!
1882 / 1616 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
16.12.2015, 13:16     Android.permission.GET_TASKS #4
а почему не сообщать в onPause и onResume сервису что активити запустилось или остановилось?
или я не понял задачу
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
16.12.2015, 13:42  [ТС]     Android.permission.GET_TASKS #5
Сервис может быть запущен из alarmmanagerа, активити в это время нету.
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
16.12.2015, 13:47     Android.permission.GET_TASKS #6
Цитата Сообщение от Rube Посмотреть сообщение
Сервис может быть запущен из alarmmanagerа, активити в это время нету.
Ну по умолчанию значит значение в false, активити запускается ставит в true, в onPause обратно в false. Но если вдруг сервис может быть запущен после запуска активити пока она активна - он будет считать что активити не активна.

Добавлено через 2 минуты
можно вообще флаг этот в sharedPreferencess хранить. Создать активити от которой все остальные унаследовать и менять там в onResume, onPause значение. А в сервисе чекать его из того же sharedPreferencess. В таком случае можно будет по всему приложению знать запущена уже активити или нет.
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
16.12.2015, 13:52  [ТС]     Android.permission.GET_TASKS #7
Я ж написал без onPause и прочее. Так то с переменной нет вопросов. Именно программное определение хочется.
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
16.12.2015, 13:54     Android.permission.GET_TASKS #8
Цитата Сообщение от Rube Посмотреть сообщение
Я ж написал без onPause и прочее
Эммм а зачем? Чет не вижу причин почему это плохо.
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
16.12.2015, 14:01  [ТС]     Android.permission.GET_TASKS #9
Spelcrawler, т.к. onPause сработает при переходе на другую активити.
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
16.12.2015, 14:03     Android.permission.GET_TASKS #10
Цитата Сообщение от Rube Посмотреть сообщение
onPause сработает при переходе на другую активити.
Ну правильно, а другая активити в onResume опять флаг поменяет)
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
16.12.2015, 14:13  [ТС]     Android.permission.GET_TASKS #11
Флаг статик, андроид прибьет приложение, флага вообще не будет. Тут надо все учесть, все посчитать, в каждую on каждой активити записать инициализацию. Геморой детектед. Надо по феншую.
Spelcrawler
521 / 491 / 110
Регистрация: 12.03.2014
Сообщений: 1,641
Завершенные тесты: 1
16.12.2015, 14:17     Android.permission.GET_TASKS #12
Rube, ну я же написал по фен шую). Создаем флаг не в статик поле, а в SharedPreferencess. Далее создаем BaseActivity, в которой переопределяем методы onResume и onPause (в них меняем флаг в SharedPreferencess). Далее наследуем ВСЕ активити приложения от этой BaseActivity. И все - у нас всегда правильный флаг в SharedPreferencess, его никто никогда не прибьет и доступ к нему из любого места приложения.
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
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 Java.lang.SecurityException: Neither user 10005 nor current process has android.permission.PACKAGE_USAGE_STATS
Android.mk Android
Android Android 6.0 permission
Android Permission Denial: receiving Intent
WRITE_SETTINGS permission Android

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

Или воспользуйтесь поиском по форуму:
Паблито
не спать!
1882 / 1616 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
16.12.2015, 14:34     Android.permission.GET_TASKS #14
все делать в одной активити на фрагментах
тогда можно сервису маячить хоть интентами, хоть через интерфейсы хоть через sharedprefs
Yandex
Объявления
16.12.2015, 14:34     Android.permission.GET_TASKS
Ответ Создать тему
Опции темы

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