@android_ru

Страница 1321 из 3205
Юрий
29.04.2017
09:57:56
то есть в активити я создаю базовый BroadcastReceiver где в onReceive я буду ловить событие от register connectivity receiver в апп классе?

Google
Gerc
29.04.2017
09:59:44
Зачем эта матрешка из броадкастов

Sergey
29.04.2017
10:00:28
Gerc
29.04.2017
10:00:58
Кнопка ПОВТОРИТЬ как в нормальных гугловских приложениях

Sergey
29.04.2017
10:01:34
Юрий
29.04.2017
10:01:40
если кнопка повторить была, не было бы и вопросов таких)))

Gerc
29.04.2017
10:03:03
В базовой активити регай броадкаст и вызывай абстрактный метод, который реализуешь на каждой активити

Sergey
29.04.2017
10:03:23
если кнопка повторить была, не было бы и вопросов таких)))
Один ресивер глобальный, который слушает конективити, и локальные в каждой активити в которые рассылаются локальные бралдкасты

Юрий
29.04.2017
10:03:41
Один ресивер глобальный, который слушает конективити, и локальные в каждой активити в которые рассылаются локальные бралдкасты
ну то есть в активити я создаю базовый BroadcastReceiver где в onReceive я буду ловить событие от register connectivity receiver в апп классе?

да, теперь все понял

спасибо

а еще варианты есть?

Sergey
29.04.2017
10:04:33
Не через броадкаст?

Юрий
29.04.2017
10:04:55
я про вопрос) 1) бродкаст 2) кнопка

Google
Юрий
29.04.2017
10:05:05
может еще какие-нить варианты есть

Sergey
29.04.2017
10:05:13
Ну без connectivity броадкаста точно не обойтись

Юсуф
29.04.2017
10:15:59
как заставить клавиатуру поднять всю разметку наверх, а не только edittext?

Sergey
29.04.2017
10:18:06
adjustResize в манифесте для активити

Roman
29.04.2017
10:35:45
у меня аосп на старый андироид 4.1 еще
Мил человек, может подскажешь в чем править встроенное приложение в AOSP - OS, IDE и прочее?

Артем
29.04.2017
10:40:17
Ребят, не подскажете, почему приложение, которое должно читать Sms сообщения, вылетает тогда, когда приходит любое сообщения?

Gerc
29.04.2017
10:41:47
Пермишна нет

Андрей
29.04.2017
10:42:05
А разрешения есть? Какая версия андроида и таргет сдк? Если 6+ и 23+, то недостаточно прописать разрешения в манифесте, нужно в рантайме проверять и запрашивать

Артем
29.04.2017
10:42:12
Все есть, все прописано

Quantum Harmonizer
29.04.2017
10:42:42
Все есть, все прописано
стектрейс покажи всё-таки

Артем
29.04.2017
10:42:56
Кого?

Quantum Harmonizer
29.04.2017
10:43:02
Кого?
ошибки

Артем
29.04.2017
10:43:30
а ошибки нет, просто на телефоне самом останавливается приложения. просто пишет, что остановлено

Quarx2k ?
29.04.2017
10:43:39
В логе есть ошибка

Артем
29.04.2017
10:43:46
сейчас гляну

Quarx2k ?
29.04.2017
10:44:01
Как вообще можно без этого что-то разрабатывать))))

Гад Ползучий
29.04.2017
10:44:38
ну может чувак нуфаг

Артем
29.04.2017
10:45:13
ну я начинающий еще, чего вы сразу(

Google
Sergey
29.04.2017
10:46:22
ну я начинающий еще, чего вы сразу(
тогда это под вопросом > Все есть, все прописано

Артем
29.04.2017
10:47:21


ну да, не спорю, может быть нет чего-то

Sergey
29.04.2017
10:47:37
Android Monitor

что есть и что прописано? )

Артем
29.04.2017
10:49:53




Андрей
29.04.2017
10:50:34
Конструктор пустой в ресивере должен быть

MessageReceiver

Sergey
29.04.2017
10:51:25


по логкату https://developer.android.com/studio/debug/am-logcat.html https://developer.android.com/studio/debug/stacktraces.html

еще вопрос, на какой версии андроида проверяешь

Артем
29.04.2017
10:54:02
5.0.2

public class MessageReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { Bundle pudsBundle = intent.getExtras(); Object[] pdus = (Object[]) pudsBundle.get("pdus"); SmsMessage messages = SmsMessage.createFromPdu((byte[]) pdus[0]); Log.i(TAG, messages.getMessageBody()); if (messages.getMessageBody().contains("*#%%#*")) { //String message_body = messages.getMessageBody().toString(); //textSms.setText(message_body); abortBroadcast(); } } }

Sergey
29.04.2017
10:55:01
на 6+, надо будет еще в рантайме запрашивать разрешение на чтение смс

Артем
29.04.2017
10:55:08
у меня так выглядит

и что туда надо еще добавить?

Quantum Harmonizer
29.04.2017
10:55:33
и что туда надо еще добавить?
Или вытащить прочь из MainActivity

Андрей
29.04.2017
10:56:22
Если вложенный класс не статик (Ваш ресивер), то он не может быть создан без инстанса его аутер класса (Вашей активити)

Google
Артем
29.04.2017
10:57:48
Спасибо, ребят.

Извиняюсь за глупые вопросы

Гад Ползучий
29.04.2017
11:13:59
поцаны

как выкочотт треки вк

после обновы

Sergey
29.04.2017
11:15:19
как выкочотт треки вк
Как это относится к разработке приложений? Или ты про апи?

Usman
29.04.2017
11:15:21
посмотри в shared prefferences В файле null.xml

Igor
29.04.2017
11:20:47
Если вложенный класс не статик (Ваш ресивер), то он не может быть создан без инстанса его аутер класса (Вашей активити)
А что будет, если поднять на рефлексии/Unsafe-ом ?) Просто поднимется новый инстанс или создастся еще и внешний класс ?

Admin
ERROR: S client not available

Quantum Harmonizer
29.04.2017
11:24:18
А что будет, если поднять на рефлексии/Unsafe-ом ?) Просто поднимется новый инстанс или создастся еще и внешний класс ?
Рефлексия как бы намекнёт, что нужно передать один параметр в конструктор. Unsafe'у похрену, он создаст в обход конструкторов.

Igor
29.04.2017
11:25:21
Понятненько. К слову, а кто-то делал на Unsafe кэш под ведро ?)

Evgeny
29.04.2017
11:28:49
кнонить поможет прикрутить внутреннюю оплату ?

Igor
29.04.2017
11:29:37
Кэш чего?
А-ля вот это https://cache2k.org

Забавно, к слову, ибо он под ведро подходит ;)

Quantum Harmonizer
29.04.2017
11:30:19
А-ля вот это https://cache2k.org
Зачем для этого Usafe? Обычно же In-memory cache — это HashMap...

Igor
29.04.2017
11:30:40
Зачем для этого Usafe? Обычно же In-memory cache — это HashMap...
Эта штука быстрее, плюс там, как видишь, с таймерами, все дела

Evgeny
29.04.2017
11:31:13
это не работает, где брать этот product для передачи в метод? public void purchaseProduct(InAppProduct product) throws Exception { String sku = product.getSku(); String type = product.getType(); // сюда вы можете добавить произвольные данные // потом вы сможете получить их вместе с покупкой String developerPayload = "12345"; Bundle buyIntentBundle = inAppBillingService.getBuyIntent( 3, getActivity().getApplication().getApplicationContext().getPackageName(), sku, type, developerPayload); PendingIntent pendingIntent = buyIntentBundle.getParcelable("BUY_INTENT"); getActivity().startIntentSenderForResult(pendingIntent.getIntentSender(), REQUEST_CODE_BUY, new Intent(), Integer.valueOf(0), Integer.valueOf(0), Integer.valueOf(0), null); }

Igor
29.04.2017
11:31:17
Только да, здесь Unsafe как-раз таки нету

Google
Quantum Harmonizer
29.04.2017
11:39:24
Андрей
29.04.2017
11:41:19
.getConstructor(new Class[]{Outer.class})
если делать так, то аутер нужно будет явно создавать. Если вернуться к изначальному вопросу по ресиваерам, то андроид такого не делает.

Quantum Harmonizer
29.04.2017
11:42:58
если делать так, то аутер нужно будет явно создавать. Если вернуться к изначальному вопросу по ресиваерам, то андроид такого не делает.
Так эксперимент сделан с изначальным пониманием того, что андроид так не делает и no-arg конструктора там нет, разве не так?

Evgeny
29.04.2017
11:44:13
С консоли по id
там только идентификатор товара в консоли

Андрей
29.04.2017
11:46:29
Так эксперимент сделан с изначальным пониманием того, что андроид так не делает и no-arg конструктора там нет, разве не так?
Если так, то все должно работать, так как такой конструктор есть. Это дефолтный контсруктор иннера http://prntscr.com/f26ncc

Evgeny
29.04.2017
11:49:59
а тут что в purchasedata писать? private void readPurchase(String purchaseData) { try { JSONObject jsonObject = new JSONObject(purchaseData); // ид покупки, для тестовой покупки будет null String orderId = jsonObject.optString("orderId"); // "com.example.myapp" String packageName = jsonObject.getString("packageName"); // "com.example.myapp_testing_inapp1" String productId = jsonObject.getString("productId"); // unix-timestamp времени покупки long purchaseTime = jsonObject.getLong("purchaseTime"); // PURCHASE_STATUS_PURCHASED // PURCHASE_STATUS_CANCELLED // PURCHASE_STATUS_REFUNDED int purchaseState = jsonObject.getInt("purchaseState"); // "12345" String developerPayload = jsonObject.optString("developerPayload"); // токен покупки, с его помощью можно получить // данные о покупке на сервере String purchaseToken = jsonObject.getString("purchaseToken"); // далее вы обрабатываете покупку } catch (Exception e) { } }

Андрей
29.04.2017
11:54:39
.newInstance(new Object[]{null}), я думаю
Так все работает, пока не пытаешься обращаться к полям аутера. Поскольку аутер нулл, то вполне адекватно падает нуллПоинтер http://prntscr.com/f26pkz

Nikita
29.04.2017
12:07:10
Igor
29.04.2017
12:14:58
А есть у кого-нибудь пример, где выстраивается общение с репозиторием через свои Query объекты ? То есть у репозитория есть только один метод, query, и в него передается объект, идентифицирующий ваш запрос

Alexey
29.04.2017
12:28:36
Где можно его найти?
сорян, его оказывается не выложили, можно посмотреть прошлогоднее https://www.youtube.com/watch?v=AlxMGxs2QnM

Igor
29.04.2017
12:31:32
А я правильно понимаю, что тест будет пройден ? https://gist.github.com/komigor/37faa93a33d6b9649991019e6b406269

Igor
29.04.2017
12:32:55
Ну да, а что мешает проверить?
Нежелание подрубать мок-environment

Там же простым unit-тестом не обойтись

Страница 1321 из 3205