Andrey
Есть предложения о моей проблеме?
Vitalii
Возвращает null. View уже была inflated так: view = inflater.inflate(layoutRes, viewGroup);
Vitalii
тоже
Denis
Сначала пытается открыть страницу приложения через приложение гугл маркета, потом страницу в браузере
Vitalii
это уже будет другая view, разве нет?
Denis
не во всех
Vitalii
условие, что инфлетится именно так, так то понятно, что просто сделать все степы через dataBinding и все норм будет
Vitalii
тоесть нельзя такое проделать с dataBinding?
Anonymous
Всем привет! На пикселе 2 появляются какие то странные отступы от края екрана? Кто нить сталкивался с такой проблемой?
Aleksey
Вопрос такой: Использую Room для хранения данных. При сохранении записи в таблицу (insert, update) как правильно провести изменения в связанных таблицах? Желательно в одной транзакции. Тоесть выполнить действия, которые в обычных субд пишут в триггер.
Andrey
cacheTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR) помог
Evgeniy
Просто используй вариант со ссылкой. Если Play Market установлен, то он сам перехватит вызов если нет, то откроется в браузере
Andrey
а куда делся мониторинг приложения в 3-ей версии студии?
Andrey
Android Profiler не хочет работать с 4-ой версией андроида
Andrey
Android Profiler requires a device with API 21 (Lollipop) or higher. Learn More
Maxim 📱 D
В одном приложении реализован SearchProvider, как мне передать ему поисковый запрос чтобы получить данные? Как это делает гугл например? Я пытаюсь использовать SearchManager, но что то падает приложение( SearchManager searchManager = (SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE); List test = searchManager.getSearchablesInGlobalSearch();
Peter
Всем привет) кто-нибудь делал авторизацию по OAuth 2? есть client id и client secret. Прочитал все доступные статьи в гугл. Подскажите пожалуйста как сделать авторизацию (желательно без web view)
Peter
т.е беру OAUTH_AUTHORIZATION_URL, котрая у меня есть, добавляю туда client id и client secret , а как мне получить токен?
Peter
задача сейчас как раз в этом
Peter
AccountManager am = AccountManager.get(this); Bundle options = new Bundle(); am.getAuthToken( myAccount_, // Account retrieved using getAccountsByType() "Manage your tasks", // Auth scope options, // Authenticator-specific options this, // Your activity new OnTokenAcquired(), // Callback called when a token is successfully acquired new Handler(new OnError())); // Callback called if an error occurs
Peter
вот этот?
Yernar
можете скинуть чатик по rx
Yernar
спс
Вячеслав
Скажи чтобы не возникала)))
Arsen
затянутые анимации ухудшают экспириенс.
Anonymous
Ребят, кто работал с Glide?
Anonymous
не могу даже заимпортить его, вылезает Error:(42, 0) Could not find method implementation() for arguments [com.github.bumptech.glide:glide:4.5.0] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler. <a href="openFile:/home/yenq/WORK/Android/backup/droidbase/sources/app/build.gradle">Open File</a>
Anonymous
В build.gradle implementation 'com.github.bumptech.glide:glide:4.5.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
Maxim 📱 D
Я вроде начинаю поиск, а как потом данные получить которые поиск возвращает? SearchManager searchManager = (SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE); List test = searchManager.getSearchablesInGlobalSearch(); searchManager.startSearch("test", false, searchManager.getGlobalSearchActivity(), null, false); searchManager.stopSearch();
Arsen
Ребят, кто работал с Glide?
3й и 4й отличаются, ты какой гайд смотрел? http://bumptech.github.io/glide/doc/download-setup.html
Arsen
ну они и в депенденси отличаются, я ссылку на настройку как раз кинул
Paul
Мужики, такой вопрос: можно ли собрать, к примеру около 5 *.apk в один? Одна apk = несколько приложений
Vadim
@desugar тут такая загвоздочка, что почему то при вызове самой нотификации вызывается сервис, а не по нажатию на кнопку. Может вы заметите нюанс val cancelIntent = Intent(this, PaymentIntentService::class.java) cancelIntent.putExtra("task", "Cancel") startService(cancelIntent) val serviceCancelIntent = PendingIntent.getService(this, 0, cancelIntent, 0) после чего в самой нотификации .addAction(R.drawable.ic_clear_black_24dp, AppResources.getString(R.string.actions_cancel), serviceCancelIntent)
Vadim
@desugar ну я его не могу вызвать в .addAction
Vadim
@desugar Тогда при нажати на саму кнопку выбивает ошибку An error occurred while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:309) и так раз на той строке var label: String = intent.getStringExtra("task") где я его пытаюсь получить Caused by: java.lang.IllegalStateException: intent.getStringExtra("task") must not be null at com.authenticator.features.notifications.PaymentIntentService.onHandleWork(PaymentIntentService.kt:20)
Vadim
@desugar onHandleWork я же сейчас наследуюсь от JobIntentService но тестирую на 23 API
Vadim
может в этом трабла, так как я из того что прочел из статьи не совсем понял, типо JobIntentService only for 8 0 и выше?
Anonymous
Compile вместо implementation. У Вас gradle ниже третьей версии, похоже.
Тогда просто градл новее поставлю, и попробую. Спасибо)
Anonymous
Заодно и Jack выключу
Anonymous
Заработало. Спасибо.
Vadim
@desugar затупил, указал явно тип String поэтому и падал когда получил extras
Vadim
@desugar плюс вы говорите что в версиях до он работает как обычный intentService тогда не совсем понятно зачем google создали ещё класс, при этом оставили сам IntentService
Vadim
@desugar то есть нужно дополнительно реализовывать еще и JobScheduler?
Jacob
Товарищи ктонибудь пользуется Room?? Как сделать запрос с тройной вложенностью резульата)) тоесть напрмер список объектов c Relation в которых другой Relation
Vadim
В нотификации есть кнопка Cancel, её добавляю через .addAction Так как это нотификация которая может прийти мне будучи не в приложении пытаюсь закрыть её следующим образом val cancelIntent = Intent(this, PaymentIntentService::class.java) cancelIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK cancelIntent.putExtra("notification_id", "Cancel") val serviceCancelIntent = PendingIntent.getService(this, 0, cancelIntent, PendingIntent.FLAG_CANCEL_CURRENT) но при нажатии нотификация не исчезает.
Peter
#whois Доброго времени суток! Меня зовут Пётр, я Android разработчик в мобильной клинике DOC+. Рад присоединиться.
Arsen
эт оесли сервис в одном процессе с приложением
Peter
погугли это )ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
Anonymous
По какой-то причине Glide очень глючит, как буд-то фрейм рейт низкий, хотя гифка маленькая. Может кто сталкивался?
Arsen
https://developer.android.com/guide/components/activities/process-lifecycle.html
Alex
Копай в сторону IntentService с планированием. А вообще что за пуши? FCM?
Alex
В FCM вроде из коробки все норм работает, но соглашумь с @desugar, китайпрошивки любят глушить нотификейшн
Alex
В качестве хотфикса можно добавить сервис с флагом, который перезапускает сам себя в случае килла. Не помню название флага, но это хотфикс
Alex
Если дедлайн горит, то хотфикс
Arsen
ну или просто игнорить вендоров с колхозными прошивками 😃
Ilya
Сервисы насилуют шторку., так себе решение.
Alex
Чего насилуют?
Ekaterina
влезу. На ксяоми телега точно так же не работает, пока не поставишь разрешение на автозапуск вотсап входит в некий "whitelist", который изначально в прошивке в этом разрешении на автозапуск. Точно так же на huawei и meizu у нас в приложении для этих вендоров показываем диалог с советом добавить в автозапуск
Ekaterina
на особо отличившихся (тот же пресловутый xiaomi), не помогает сервис. Даже фореграунд сервис висящий не помогат. Очень уж их miui бережет батарею
Ilya
Запретить
Ilya
Аларм с проверкой работы сервиса?
Alex
Да
Ilya
Помнится, пару лет назад поднимали tdp. Сейчас вряд ли это возможно.
Ekaterina
У них приложение системное, которое свой список имеет, разрешённых к работе в фоне
я об этом выше писала, если добавить в "автозапуск"(то самое приложение со списком), то все прекрасно работает. Проблема в том, что програмнно к нему не достучаться, только просить пользователя зайти туда и поставить
Ekaterina
сейчас в личку кусочек кода скину
Ilya
Костыли, в общем.
Yurka
Для android < 8 работает костыль, в котором при onDestroy сервиса вызывается broadcast receiver, который, в свою очередь, стартует сервис. Это помогает при "свайпе" приложения из диспетчера. Но не помогает при перезагузке девайса на xiaomi, meizu и прочих девайсах со встроенными permission manager'ами, так как receiver на перезагрузку не вызывается.
Denis
Ребят, при очистке logcat перестают писаться новые логи, до перезапуска студии (очень напрягает) adb kill-server / adb start-server не помогают Как боролись?
Yurka
Такая схема с "неубиваемым" сервисом так и реализована в Telegram. https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/AndroidManifest.xml#L296 https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/messenger/NotificationsService.java#L39
thegr1f
Всем привет. Может кто подскажет как примерно сделать такую view. Знаю, что это кривые Безье, но как
thegr1f
thegr1f
За точки можно вниз/вверх водить