问题
I am wondering how the Android Wear launchers like Swipify and Wear Mini Launcher intercept touch events on the android wear home screen.
I have tried adding the onTouch and onClick listeners to the Watch View Stub in my app so far, but I can not figure out how to get touches that occur outside of my app.
回答1:
In fact, the views are directly added in the WindowManager
in a Service
.
You can take a look at this thread to understand how it works: Creating a system overlay window (always on top)
Be careful, there is an issue in the Moto 360 system at this time as explained here: https://plus.google.com/u/0/113671876130843889747/posts/9bqUcdgZnNb
You will have to use the WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR
flag to avoid the bottom space. By the way, you can also take a look at the code I gave in this post to understand how overlaying works. Direct link: https://github.com/PomepuyN/WatchviewStubIssue
来源:https://stackoverflow.com/questions/26042943/android-wear-launcher