You're videos are just so high quality that I feel like I have to pay for them! how ever I'm in a country that I can't donate you but I watch the adds till the last second! Oh and also I have a video request! PLEASE PLEASE PLEASE Make a tutorial video about how to enable V P N mode in Kotlin! there no videos explaining it and the documents are so confusing!
I'm really enjoying these, they're things I know but your helping me categorise them in my mind, would you consider roughly explaining small code changes for audio users,
00:03 Broadcasts in Android are system-wide events that apps can consume and receive 01:30 Reacting to airplane mode changes in an Android app 02:51 Handling intents in Android 04:19 Registering a broadcast receiver for airplane mode changes. 05:50 Dynamic broadcast allows receiver declaration when needed 07:12 Static broadcast receivers can be declared in the Manifest file 08:27 Sending and receiving broadcast intents in Android 10:07 Apps can communicate with each other using broadcast receivers.
This implementation for the AirPlaneModeReceiver may be more natural and straightforward. class AirPlaneModeReceiver: BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { if (intent?.action == Intent.ACTION_AIRPLANE_MODE_CHANGED) { if (intent.hasExtra("state")) { val isTurnedOn = intent.getBooleanExtra("state", false) println("Is airplane mode enabled? ${isTurnedOn}") } else { println("No state extra found in the intent") } } } }
Could you please suggest how an activity can communicate with a receiver? What if we want our UI or viewmodel to react to a message rather than just logging it? I couldn't manage to find a "native" solution, so ended up adding a static event subject to the receiver's companion object and subscribing my activity to it.
Isn't it better to register and unregister dynamic receivers in onResume and onPause? In the previous video discussing lifecycle methods, you mentioned that the onDestroy method might sometimes not be called.
bro, there's a topic I've struggled for a long time to implement. Please, if you would make a series on implementing a custom assistant from overriding VoiceInteractionServices. I'd SERIOUSLY much appreciate it
I am kinda thinking the same thing because he said in the first part that you can pause your music player app when an app received a phone call action.
A music player is not the UI, it's just the service that plays the music. You can pass other active classes of your app to the broadcast receiver and update them. That either works with Hilt or manually assignment
Can broadcast receivers be used in situations such as internet disconnection? What should I use to check internet situation? Also thanks for these videos :)
What do you think about using broadcasts and broadcast receivers inside same app, compared to using singleton Rx Observable or Coroutine Flow that are used in multiple places? Apart from obviouse API differences, are there any general reasons why should we stick with broadcasts and broadcast receivers in such situation?
Thanks very interesting and useful. Is it possible register to incoming phone call and our application receive the calling number as parameter please? It will very interesting that our application receive the calling number when is ringing and find and display the client record automatically? Have nice time
I have doubt like how do we update the UI from the receviers. If it is possible with viewmodel i have a question passing a viewmodel instance to broadcast receiver is a good way?
I couldn't manage to find a "native" solution, so ended up adding a static event subject to the receiver's companion object and subscribing my activity (or viewmodel) to it.
If my receiver app is closed and I send a broadcast using an explicit intent, will the receiver app still not be able to receive it, since that's what's happening in my case?
I am little confiused, I can see you used the intent action in the airPlane brodcast class, why you set this action again to the intentFilter inside the register? Also one more thing.. in your note application you made getNote() not suspended but you made getAllNotes() are suspended Why? Both of them are returning data from room Sorry for grammer mistakes
to getAllNodes, you execute a task with a fewer seconds, from Room Local Database for example. Suspend fun refers to call it function into a Coroutine, for example in your viewModel, you need to call this function into viewModelScope.launch{}. Whatever getNote, can be non suspend fun, but instead of that, you shoul to be return Flow, and works same if you define that : suspend fun getNote() : NoteEntity Boths works similar, but generally Flow is expected when you call a list that have changes along the time or running of the app, reacts, to actions, it mutates. Suspend fun refers, when you create a coroutine that gives some work, and it;s no frequently to mutate. Does Work right. Suspend fun with no returns -> Procedure, fun with returns -> Works and return Type. also suspend can be used to return.
You're videos are just so high quality that I feel like I have to pay for them! how ever I'm in a country that I can't donate you but I watch the adds till the last second! Oh and also I have a video request! PLEASE PLEASE PLEASE Make a tutorial video about how to enable V P N mode in Kotlin! there no videos explaining it and the documents are so confusing!
So would u consider making a short tutorial about it please?
Please make a video with full description/define about broadcast receivers with 3-4 examples, and intent filters.
I hope you cover goAsync in upcoming videos with proper examples. It would be amazing if you could cover ANR cases in background and foreground cases.
This playlist is so good
I have a small question is the static broadcast receiver still working?
I'm really enjoying these, they're things I know but your helping me categorise them in my mind, would you consider roughly explaining small code changes for audio users,
You're enjoy me everyday with such a qualite video lessons! Thanks bro! I'm also have Germany roots...
00:03 Broadcasts in Android are system-wide events that apps can consume and receive
01:30 Reacting to airplane mode changes in an Android app
02:51 Handling intents in Android
04:19 Registering a broadcast receiver for airplane mode changes.
05:50 Dynamic broadcast allows receiver declaration when needed
07:12 Static broadcast receivers can be declared in the Manifest file
08:27 Sending and receiving broadcast intents in Android
10:07 Apps can communicate with each other using broadcast receivers.
Thanks a lot. Nice that you also again address the more niche topics.
thank you philpp
This implementation for the AirPlaneModeReceiver may be more natural and straightforward.
class AirPlaneModeReceiver: BroadcastReceiver() {
override fun onReceive(context: Context?, intent: Intent?) {
if (intent?.action == Intent.ACTION_AIRPLANE_MODE_CHANGED) {
if (intent.hasExtra("state")) {
val isTurnedOn = intent.getBooleanExtra("state", false)
println("Is airplane mode enabled? ${isTurnedOn}")
} else {
println("No state extra found in the intent")
}
}
}
}
bro are u android developer
Could you please suggest how an activity can communicate with a receiver? What if we want our UI or viewmodel to react to a message rather than just logging it? I couldn't manage to find a "native" solution, so ended up adding a static event subject to the receiver's companion object and subscribing my activity to it.
Thanks for sharing it help a lot!
Glad it was helpful!
Very nice series for learning basic android things.
Thanks, your videos make my life easier and I can focus on the main aims of my apps
Isn't it better to register and unregister dynamic receivers in onResume and onPause? In the previous video discussing lifecycle methods, you mentioned that the onDestroy method might sometimes not be called.
Awesome series ! Keep it coming please.
thank you,its amazing explanation
Thank you for these videos, it helps a lot!
bro, there's a topic I've struggled for a long time to implement. Please, if you would make a series on implementing a custom assistant from overriding VoiceInteractionServices. I'd SERIOUSLY much appreciate it
Another amazing video. thanks for all the effort
Great video!!, just one question, if the onReceive method is from a different class, how can the ui react to that action?
I am kinda thinking the same thing because he said in the first part that you can pause your music player app when an app received a phone call action.
A music player is not the UI, it's just the service that plays the music. You can pass other active classes of your app to the broadcast receiver and update them. That either works with Hilt or manually assignment
Can broadcast receivers be used in situations such as internet disconnection? What should I use to check internet situation? Also thanks for these videos :)
hello thanks for all tutorial, but please make tutorial about implementing webrtc in android studio, hope u read this
l learned everything from you
What do you think about using broadcasts and broadcast receivers inside same app, compared to using singleton Rx Observable or Coroutine Flow that are used in multiple places?
Apart from obviouse API differences, are there any general reasons why should we stick with broadcasts and broadcast receivers in such situation?
How does a broadcast compare with a flow? If you mean channels, then you lose the whole reactivity and flexibility by using a broadcast
@@PhilippLackner Ok, I get that, but are there any reasons for using broadcasts within same app, instead of Channels, Rx Observables and so?
Man I love your channel
Excellent
Can you make a video about NFC tag reader?
How can we use data from BroadcastReceiver in composable UI?. Thanks
Thanks very interesting and useful.
Is it possible register to incoming phone call and our application receive the calling number as parameter please?
It will very interesting that our application receive the calling number when is ringing and find and display the client record automatically?
Have nice time
likr truecaller, right!! so did u get any result or did any reseach that u could share
I like this series ❤️
Keep great work up 🔥
Next video Content Provider 🫣
How to use hilt inside broadcast reciever
thanks dost
interesting abangkuh
Is there a book that you can recommend ?
Please make this more beginner friendly so we can understand from the scratch, Thank you for such video
Would you like some baby food with that?
Yes
Hello. Do you find copilot useful for Android development?
I have doubt like how do we update the UI from the receviers. If it is possible with viewmodel i have a question passing a viewmodel instance to broadcast receiver is a good way?
I couldn't manage to find a "native" solution, so ended up adding a static event subject to the receiver's companion object and subscribing my activity (or viewmodel) to it.
If my receiver app is closed and I send a broadcast using an explicit intent, will the receiver app still not be able to receive it, since that's what's happening in my case?
How do you check if an app that can receive an broadcast is open?
Your content is ❤ (3😅)
Why do you check if the action is a specific action ? doesn't the intent filter do the same job!
As long as it's only used for this one action yes
I am little confiused, I can see you used the intent action in the airPlane brodcast class, why you set this action again to the intentFilter inside the register?
Also one more thing.. in your note application you made getNote() not suspended but you made getAllNotes() are suspended
Why? Both of them are returning data from room
Sorry for grammer mistakes
to getAllNodes, you execute a task with a fewer seconds, from Room Local Database for example.
Suspend fun refers to call it function into a Coroutine, for example in your viewModel, you need to call this function into viewModelScope.launch{}.
Whatever getNote, can be non suspend fun, but instead of that, you shoul to be return Flow, and works same if you define that :
suspend fun getNote() : NoteEntity
Boths works similar, but generally Flow is expected when you call a list that have changes along the time or running of the app, reacts, to actions, it mutates.
Suspend fun refers, when you create a coroutine that gives some work, and it;s no frequently to mutate. Does Work right.
Suspend fun with no returns -> Procedure, fun with returns -> Works and return Type.
also suspend can be used to return.
Nice content Phillip. Although I am not really sure if Broadcast receivers should be considered as an Android Basic concept
Why not? It's a core concept about how apps communicate with each other
What would be a usecase?
Did you watch the video?😅
way more complex and long
Boss form indian I need help i have App idea but not knowledge how to build can you help me how i can sell my idea to another
Can we collaborate?
Please translate persian