判斷「豎排鎖定」是否開啟

2021-09-26 22:06:59 字數 900 閱讀 2383

####問題來由:

由於專案需要僅支援檢視橫豎屏轉換,其他介面強制豎屏。因為轉換過程中【狀態列】,【導航欄】需要隱藏顯示等操作,【開啟熱點時狀態列】高度又從20變成40。介面在不斷的跳轉過程中加上熱點的開閉,把手機搞「懵逼」了,一會介面上移,一會下移。

####調整思路:

所有介面強制豎屏,由【陀螺儀】來判斷裝置的方向。陀螺儀和系統的橫豎屏無關,此時就要獲取裝置是否開啟「豎排鎖定」,如果開啟豎排鎖定就禁用陀螺儀,如果關閉豎排鎖定就啟用陀螺儀。ios 12以後獲取「豎排鎖定」的方法不準確,如下,再次又換了思路

//判斷裝置「豎屏鎖定」的狀態

inline bool isprotraitlockon()

else

break;}}

} else}}

return ison;

}

#tip:可以檢視1️⃣2️⃣兩個列印,獲取狀態列上其他元素,進行相應操作。

####最終思路:

[[uidevice currentdevice]begingeneratingdeviceorientationnotifications];

[[nsnotificationcenter defaultcenter] addobserver:self selector:@selector(deviceorientaiondidchange) name:uideviceorientationdidchangenotification object:[uidevice currentdevice]];

-(void)deviceorientaiondidchangeelse if (orientation == uideviceorientationlandscaperight)else

}

判斷檔案是否被開啟

判斷檔案是否被開啟 方法一 通過try catch對檔案的移動操作,如果檔案開啟,將不能移動,會進入catch段 通過返回bool值來反應是否能正常移動 private void button2 click object sender,eventargs e private static bool ...

Android判斷Service是否開啟

最近改bug的時候,發現有個service總是開啟,關閉,重複執行,於是對他做了點小的改動,判斷是否啟動,為真的話則不做任何事,為假,startservice,下面奉上程式片段,給自己做個記錄,也方便下大家。主要思路 通過activitymanager來迴圈判斷service是否存在。必要條件 宣告...

android 判斷Service是否開啟

color red 被判斷的service 必須是帶包名的全名 color 通過service的類名來判斷是否啟動某個服務 private boolean musicserviceisstart listmservicelist,string classname return false 獲取所有啟...