草庐IT

java - Android:深度 sleep 的时间间隔(System.nanoTime(), System.currentTimeMillis(), SystemClock.elapsedRealtimeNanos())

我正在实现一个最低API级别14(这很重要)并且需要一致的间隔测量的应用程序。不需要ms精度,它只需要始终计算时间(经过的秒数)。到目前为止,要处理时间间隔,我知道这些解决方案:System.nanoTime()-如果Android正在运行,效果很好,但在深度sleep时停止(这很糟糕)。System.currentTimeMillis()-很好,但不合适,因为它可以由用户或使用setCurrentTimeMillis(long)的代码更改。SystemClock.elapsedRealtimeNanos()-即使在深度sleep时也计算耗时,但需要API级别17。是否有另一种方法可以

android - 哪些事件可以唤醒 sleep 中的 Android 设备?

我正在编写一个Android客户端应用程序,它使用HTTP长轮询(Comet)不断从服务器接收推送通知。我不想一直保留WakeLock,因为它会耗尽电池电量,但我需要确保设备即使在sleep模式下也能收到通知。我发现了这个问题:Android:Sleepstages/levelsonanAndroiddevice?其中“CommonsWare”提到非Wifi套接字上的传入数据包将唤醒设备。所以我的解决方案是这样的:Client-------------------------Server----Request----->releaseWakeLock(Allowdevicetoslee

安卓 OpenGL : crazy aspect ratio after sleep

如果我按下Android手机上的电源按钮(或等待它超时)并且手机进入休眠状态,在重新唤醒后,屏幕纵横比完全不正常。截图:坏了正确在GameActivity.onCreate()中//GrabdisplayinfoDisplayMetricsdm=newDisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);ACTUAL_SCREEN_WIDTH=(int)dm.widthPixels;ACTUAL_SCREEN_HEIGHT=(int)dm.heightPixels;ACTUAL_DENSITY=dm

java - Thread.sleep(x) 是否足够准确以用作 Android 中的时钟?

我有一个单独的线程在我的主类中运行。它需要每100毫秒发送一次消息,但恰好每100毫秒发送一次。我想知道它是否足够准确,可以这样使用,或者是否有其他方法可以让某些事情每秒准确发生10次。classClockRunimplementsRunnable{@Overridepublicvoidrun(){doublehourlyRate=Double.parseDouble(prefs.getString("hourlyRate",""));doubleelapsedTime=0;do{while(clockRun){doubleamount=hourlyRate/360/100*elaps

android - 如何从 sleep 中恢复相机预览?

我有一个显示相机预览的应用程序,我希望用户能够让手机进入休眠状态然后唤醒它,以便我的应用程序能够正确恢复。问题是当从sleep中返回时,相机预览不会重新启动。我已经实现了api演示中介绍的相机预览,但api演示示例似乎只能靠运气。在示例中,屏幕方向被强制为横向,这意味着手机每次进入休眠状态时都会进行配置更改,因为锁屏处于纵向模式。如果在相机预览应用程序(如我的应用程序)中使用纵向模式,错误就会浮出水面。我了解到该错误与表面View的重新创建有关。在进入onPause时应该始终销毁表面,然后在onResume后重新创建,但在进入休眠时不会发生这种情况。看来我必须销毁整个Activity,

android - 如何在 Android 中注册 sleep 事件?

我在Android3.0上工作,我需要在我的应用程序中知道设备何时进入休眠/关闭屏幕。如何注册此Intent/事件,以便在发生这种情况时能够运行一些操作?BroadcastReceiver中是否有任何通知此操作的操作? 最佳答案 This页面上有关于您正在寻找的内容的教程。从该页面复制的代码(以便将其从仅链接的答案转变为直接有用的东西):1)在您的应用程序中创建一个类来接收Intent。例如,以下接收器独立并设置一个静态变量以在第2部分中使用:publicclassScreenReceiverextendsBroadcastRece

android - 无法从 sleep 模式唤醒 Android 模拟器

我需要测试我的应用程序在sleep模式下的行为。如何启用sleep模式,我在这个Stackoverflowarticle找到了.如前所述,模拟器屏幕变黑后约1分钟。现在的问题是,我无法再次唤醒模拟器。没有点击也没有热键(F7、CTRL+H等)我做错了什么。还是我对sleep模式有误解,一般来说。原则上,我可以使用真实设备,但在这里我无法控制手机何时进入(深度)sleep,这使得测试变得困难。 最佳答案 我发现调用模拟器实际上也会唤醒手机。 关于android-无法从sleep模式唤醒An

从 sleep 中醒来后的 Android Activity 生命周期

如果一个Activity正在屏幕上显示,并且有一个带有点击监听器的按钮,它会在onCreate方法期间附加到按钮,然后设备进入休眠模式(或者用户点击电源按钮关闭屏幕),当屏幕恢复时,Activity仍然可见,就像进入休眠模式之前一样。onResume被调用,这被记录为Activity生命周期的一部分。我不明白的是为什么onCreate没有被再次调用。按钮的点击监听器在退出sleep模式后怎么可能正常工作?您会认为Android已经销毁了附加到Activity的所有正在运行的进程,其中包括按钮的点击监听器。 最佳答案 你的意思是,为什

android - Android Wear处于 sleep 模式时如何唤醒?

当AndroidWear进入休眠模式(屏幕变暗)时,我的部分代码不会执行。我在后台服务中使用Timer来触发一些Action,比如从wear发送数据到mobile,但是数据发送不出去。当我点击屏幕唤醒它时发送它。我也尝试使用定时器在屏幕关闭时触发振动通知,但直到我点击屏幕它才出现。在Debug模式下(蓝牙或USB),数据发送和通知工作正常。我怀疑这是因为当AndroidWear处于sleep模式时,它的CPU工作在最低水平,因为Timer仍在运行,但不是用于GoogleApiClient、IntentService或Notification。我尝试了很多方法来唤醒CPU,例如Alarm

android - sleep 模式和深度 sleep 模式有什么区别?

我想知道安卓手机的sleep模式和深度sleep模式有什么区别,手机进入休眠模式和深度sleep模式会有什么影响。请提供详细的答案。问候,皮克斯 最佳答案 深度sleep模式与休眠和启动时间没有任何关系,正如有人在已删除的答案中所写的那样。你不应该避免手机休眠,这会很快耗尽你的电池。要从服务器接收消息,您应该使用[C2DM]GCM与旧时尚具有相同的基本特征deprecatedC2DM.更多关于androidsleep的信息:http://developer.android.com/reference/android/os/Power