Mike
андроид не мыслит классами, у него есть компоненты приложения, по ним же он определяет, грохабельно ли приложение
Hovhannes
счастливый
ага. жопа в мыле. счастье т какое
Ilya
А как его словить? Я его создал и передал в нотификейшн, но как словить не знаю
Ilya
я тебе целых три варианта предложил
Mike
Ilya
Похоже на костыль
Mike
Ilya
Создавать отдельный класс, отдельный компонент просто чтобы переключить флаг
Mike
Serjio
Serjio
как вот тут быть?
Mike
вытащить в локальную val, можно let'ом
Serjio
тьфу. там написано.
Smart cast to BLEPeripheral is impossible, because mBLEPeripheral is a mutable property that could bave been changed by this time.
короче, в классе BLEPeripheral есть init, а он у меня не вызывается
Mike
Serjio
ну ест ьстрочка
private var mBLEPeripheral: BLEPeripheral? = null
по нажатию на кнопку я делаю
mBLEPeripheral = BLEPeripheral()
и потом
mBLEPeripheral?.startAdvertise()
но этот advertise не срабатывает, потому что
mManager == null, а не null он делается внутри
public int init(Context context) {
который находится в классе BLEPeripheral
Mike
Serjio
по идее этот init должен случаться при (создании объекта?)?
Serjio
я пытался прямо перед startAdvertise сделать mBLEPeripheral.init(context)
но получил ту ошибку что smart cast is impossible
Serjio
ну а если она не метод - когда она должна срабатывать (и почему у меня не срабатывает?)
и стоп, у меня в классе (честно спизженном сниплете у какой-то китаянки) она принимает параметр Context context, если я правильно понимаю
Serjio
то есть это некий метод. значит, надо самому инициализировать?
Mike
ну конечно, а то где компилятор возьмёт контекст?
Serjio
BLEPeripheral().init(context) ?
Serjio
(как его правильно получить только теперь)
Andrei
Serjio
тогда совсем не догоняю, как правильно.
Anonymous
парни купил ноут для обучения разработке макпро 13 15 года 16 гиг оперы ай5 29 ссд 512 нормальный выбор оцените?
Andrew
Anonymous
огонь
Anonymous
я на будущее
Anonymous
уроки скачал geekbrains норм не знаете ?
Serjio
у меня 15-ка 2011 года 8 гигов ай7 ssd 256 - хватает вроде
Anonymous
Serjio
class BLEPeripheral(context: Context) {
init {
//обрабатываешь создание
}
}
Serjio
Mike
я не догоняю.
ну блин, пора учиться создавать классы и использовать их
Serjio
у меня этот init не вызывается сам по себе (вставил туда Log.d - а не вижу их)
Mike
Mike
сам не вызовешь — никто не вызовет
Anonymous
Потому что init что ты создал это метод
Serjio
не я, а автор класса. это я понял. я про то, как его вызывать.
какой контекст ему передавать.
Anonymous
Init сам вызывается при создании
Александр
грохабельно
🤓
Serjio
какой контекст ему нужен? не приложения же?
это другой инит.
Serjio
мой инит - это обычный метод
Mike
Mike
Ilya
А разве setDeleteIntent не достаточно?
Serjio
BLEPeripheral().init(this@MainActivity)
(не уверен, что этот тот контекст) - вроде попадаю в инит. копаю дальше
Ilya
Mike
а action где делать?
в интенте и в интент-фильтре
(окей гугл, как зарегистрировать броадкастресивер и закинуть туда интент?)
Andrew
а action где делать?
https://startandroid.ru/ru/uroki/vse-uroki-spiskom/64-urok-26-intent-filter-praktika.html
Serjio
не, какая-то задница.
в init попадаю, в нем пытаюсь получить адаптер:
mAdapter = mManager.getAdapter();
но потом, после этого, в startAdvertise выходим построке
if (null == mAdapter) {
Log.i("myserver", "returned since mAdapter == null ");
return;
Mike
--------
--------
ну провались (step into) в getAdapter
такой вопрос. Ты говорил, что выпиливал даггер из проекта. Получается, ты самостоятельно необходимые зависимости где-то создавал и передавал в конструктор? А как время жизни таких объектов определял? Типа если уровень апликейшен - создаешь объект в классе апликейшн? И как быть с инжектом в поле, ну например в активити, что в этом случае делал?
Serjio
ха. провалился. непонятки. при провале вроде все создается (вот картинки)
а потом когда вызывается startAdvertise - там уже сразу же mAdapter==null
Serjio
Serjio
Serjio
Serjio
Mike
--------
--------
Ilya
Всё равно ресивер не вызывается
Mike
Александр
Ребят, подскажите какой event отправить в яндекс метрику для отследивания установок приложения?????
Ilya
пихаю вон код кинул, а регистрирую в манифесте. Если я правильно понял
Ilya
А, понял
Ilya
всё равно не работает)0
Mike
Ilya
<receiver android:name=".MainActivity$MyBroadcastReceiver" android:enabled="true" android:exported="true">
<intent-filter>
<action android:name="ru.snowmaze.action.notificationdeleted" />
</intent-filter>
</receiver>
Mike
ресиверы в манифесте всё ещё работают?..
Mike