有没有办法检测(或有事件)在科尔多瓦设备的屏幕状态(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. 科尔多瓦:如何关闭科尔多瓦的页面?
- 3. 科尔多瓦/ Phonegap无法关闭Android上的自动隐藏启动屏幕
- 4. 如何关闭inappbowoser科尔多瓦
- 5. 如何禁用iOS上的启动屏幕与科尔多瓦?
- 6. 科尔多瓦WKWebView白色屏幕
- 7. 在科尔多瓦检查GPS状态(开/关)android
- 8. 离子科尔多瓦应用程序ios 4.4.0初始屏幕然后关闭
- 9. 流星:科尔多瓦Android应用卡住加载屏幕上
- 10. 如何检测iPhone屏幕是否锁定(关闭)
- 11. 如何检测NSDrawer是否会关闭屏幕
- 12. 科尔多瓦3.3.0如何呈现移动设备屏幕
- 13. 如何检测屏幕何时开启?
- 14. 的PhoneGap /科尔多瓦的Android开发
- 15. 开始与科尔多瓦
- 16. 如何开始使用科尔多瓦
- 17. 关于科尔多瓦
- 18. 科尔多瓦,发出“科尔多瓦运行android”后
- 19. 科尔多瓦错误:科尔多瓦构建Android
- 20. 如何让GCM科尔多瓦得到与科尔多瓦2.3
- 21. 如何检测小工具是否开/关屏幕?
- 22. 科尔多瓦 - 如何检测是否安装谷歌地图应用程序
- 23. 如何在Android中开发时查看屏幕是开启还是关闭?
- 24. 如何在科尔多瓦
- 25. 如何在科尔多瓦
- 26. 科尔多瓦 -
- 27. 科尔多瓦
- 28. 科尔多瓦
- 29. 屏幕开/关检测
- 30. APPVIEW是在科尔多瓦的Android 5.1.1
我怕你是对的,但仍然希望有人在我之前做过 –