Android 屏幕锁定为portrait或者landscape时手机旋转方向的获取
屏幕锁定时不会触发onConfigurationChanged
,也不能从Display的Orientation中获取手机的真实旋转方向.
需要我们自己通过传感器获取.
这里写了一个库去获取屏幕旋转事件.
依赖
allprojects {
repositories {
//...
maven { url 'https://www.jitpack.io' }
}
}
dependencies {
implementation 'com.github.dqh147258:InertOrientation:1.0.+'
}
使用
class MainActivity : AppCompatActivity() {
private val listener = SmartInertOrientationListener(this) {
Log.d("Debug", "current orientation: $it")
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
源码
原理
原理很简单,自己看源码去,哼╭(╯^╰)╮!