有沒有辦法檢測(或有事件)在科爾多瓦設備的屏幕狀態(android)
或設備的睡眠/喚醒狀態?如何檢測屏幕是否開啓/關閉科爾多瓦android
0
A
回答
0
恐怕你不能這樣做,對this網站科爾多瓦插件列表上一看,你會不會覺得你可以用它來檢查屏幕狀態
編輯任何插件:如果你知道一種方法使用原生Java爲Android發生這種情況,你可以創建一個科爾多瓦插件,並將其附加到你的應用程序,但作爲目前可用的插件沒有任何一個可以做到這一點
0
有一些屬性像「mLockScreenShown」&「 mumpsful「,可以獲取設備鎖定屏幕狀態。如果你在adb shell中運行dumpsys activity
命令,你會得到幾乎所有關於androd活動的信息。下面是完整的Java API,它會給你Android設備的屏幕狀態。
public static String getScreenState() throws IOException {
Process process = null;
BufferedReader buffRead;
String processString = "";
int sleepMode = -1;
int awakeMode = -1;
String screenState = "";
try {
String command = System.getProperty("java.home") + File.separator + "tools" + File.separator
+ "adb.exe shell dumpsys activity | grep mLockScreenShown";
process = Runtime.getRuntime().exec(command);
buffRead = new BufferedReader(new InputStreamReader(process.getInputStream()), 1024);
while ((processString = buffRead.readLine()) != null) {
if (processString.split("mSleeping=").length > 1) {
if (processString.split("mSleeping=")[1].startsWith("true"))
sleepMode = 0;
else if (processString.split("mSleeping=")[1].startsWith("false"))
sleepMode = 1;
}
}
try {
command = System.getProperty("java.home") + File.separator + "tools" + File.separator
+ "adb.exe shell dumpsys activity | grep mWakefulness";
process = Runtime.getRuntime().exec(command);
} catch (IOException e) {
e.printStackTrace();
}
processString = "";
buffRead = new BufferedReader(new InputStreamReader(process.getInputStream()), 1024);
while ((processString = buffRead.readLine()) != null) {
if (processString.split("mWakefulness=").length > 1) {
if (processString.split("mWakefulness=")[1].startsWith("Awake"))
awakeMode = 0;
else if (processString.split("mWakefulness=")[1].startsWith("Asleep")
|| processString.split("mWakefulness=")[1].startsWith("Dozing"))
awakeMode = 1;
}
}
} catch (IOException e) {
e.printStackTrace();
}
if (sleepMode == 0 && awakeMode == 1) {
screenState = "SCREEN_OFF";
} else if (sleepMode == 0 && awakeMode == 0) {
screenState = "SCREEN_LOCK";
} else if (sleepMode == 1 && awakeMode == 0) {
screenState = "SCREEN_ON";
}
return screenState;
}
相關問題
- 1. 如何檢測GPS是否開啓或關閉使用科爾多瓦
- 2. 科爾多瓦/ Phonegap無法關閉Android上的自動隱藏啓動屏幕
- 3. 如何關閉inappbowoser科爾多瓦
- 4. 如何禁用iOS上的啓動屏幕與科爾多瓦?
- 5. 科爾多瓦的兩個同時啓動屏幕
- 6. 在科爾多瓦檢查GPS狀態(開/關)android
- 7. 離子科爾多瓦應用程序ios 4.4.0初始屏幕然後關閉
- 8. 流星:科爾多瓦Android應用卡住加載屏幕上
- 9. 如何檢測NSDrawer是否會關閉屏幕
- 10. 如何檢測iPhone屏幕是否鎖定(關閉)
- 11. 如何檢測屏幕何時開啓?
- 12. 開始與科爾多瓦
- 13. 科爾多瓦,發出「科爾多瓦運行android」後
- 14. 科爾多瓦錯誤:科爾多瓦構建Android
- 15. 如何檢測小工具是否開/關屏幕?
- 16. 科爾多瓦 - 如何檢測是否安裝谷歌地圖應用程序
- 17. 如何在Android中開發時查看屏幕是開啓還是關閉?
- 18. 如何在科爾多瓦
- 19. 如何在科爾多瓦
- 20. 科爾多瓦 -
- 21. 科爾多瓦
- 22. APPVIEW是在科爾多瓦的Android 5.1.1
- 23. 如何檢測UISwitch是否開啓/關閉?
- 24. 如何修復JAVA_HOME是科爾多瓦
- 25. 阿帕奇科爾多瓦 - 檢測Android主頁按鈕
- 26. 在科爾多瓦檢測Android設備上的來電
- 27. 如何檢測使用科爾多瓦插件的OTP
- 28. 如何檢測科爾多瓦的設備旋轉?
- 29. 科爾多瓦inappbrowser Facebook登錄白屏
- 30. 科爾多瓦覆蓋離子 - 應用程序陷入「Apache科爾多瓦 - 設備就緒」屏幕
我怕你是對的,但仍然希望有人在我之前做過 –