Android监听其他应用屏幕旋转

如果你是搜这个标题进来的,其实你和我一样走进了误区,一开始觉得监听自己的应用屏幕旋转很简单,怎么监听别人的呢?其实都是一个道理。设备旋转了,手机上所有的应用都接受的是同一个通知。那我们自己应用能接受到,当然也能接收到其他应用屏幕旋转的信息喽。很简单。

第一步,先写个广播接收者。

    override fun onReceive(context: Context, intent: Intent?) {
     //横 2 竖屏1 
     Log.d("dddd","屏幕旋转"+context.resources.configuration.orientation)
   }
       

        返回写个接口,返回出去就好了。因为我的是悬浮球,需要知道屏幕是否旋转了,而改变靠边的位置。  

写了个广播。在activity里的onCreate里启动这个广播接收器就好了

val broadcastReceive  =  MyScreenOrientReceive()
val filter =  IntentFilter()
filter.addAction(Intent.ACTION_CONFIGURATION_CHANGED)
registerReceiver(broadcastReceive,filter)

就这样了。

记得加上权限

<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"
    tools:ignore="ProtectedPermissions" />

猜你喜欢

转载自blog.csdn.net/qq_38679144/article/details/83022828
今日推荐