如果手机关机,Android应用程序是否有效

时间:2015-09-18 04:54:33

标签: android android-activity mobile-application

是否可以在关闭手机时启动类似闹钟的Android应用程序。

8 个答案:

答案 0 :(得分:8)

差不多5年前就Android device's alarms not triggering when device is turned off提出了一个错误。 然后将其状态更改为"增强请求"

当您深入了解该主题时,您可以看到"已拒绝" 。因此官方Android并不支持它,但是一些供应商已经在他们的供应商特定ROM中实现了这一功能。

答案 1 :(得分:4)

从技术上讲,Android基于修改后的Linux内核,在Android中运行的所有进程都是常规的Linux进程。因此,当内核发生故障时,所有进程也会关闭。

Alarm Manager是一个系统服务,它通过其Dalvik VM实例在单个Linux进程(System Server)内与其他系统服务一起运行。正如我已经说过的,System Server也是一个像其他进程一样的Linux进程,并且一旦整个内核停止运行就会关闭。

基本上,所有 Android系统服务(例如通知管理器,软件包管理器,相机......)都在该System Server独立进程中运行。 (但是,在较新版本的Android中,其中一些版本可以分解为多个进程)。只要内核停止,这个过程就不再运行了。

答案 2 :(得分:2)

@Anand Jain Sorry .Android Does not Support This

报警管理器的工作过程

闹钟响起时,已为其注册的Intent由系统广播,如果目标应用程序尚未运行,则会自动启动它。

当设备处于睡眠状态时,会保留已注册的警报(如果设备在此期间关闭,则可以选择将设备唤醒),但如果设备关闭并重新启动,则会被清除。

Courtesy

AlarmManager可以访问 system alarm services.getSystemService(Context.ALARM_SERVICE)。 如果目标应用程序未运行,则此目标将启动。如果希望在特定时间运行应用程序代码,建议使用AlarmManager,即使您的应用程序当前没有运行。

  

AlarmManager when the phone is turned off - ANDROID

     

https://code.google.com/p/android/issues/detail?id=1942

答案 3 :(得分:1)

不,如果手机关闭,它就无法做任何事情。

答案 4 :(得分:1)

不,当手机关机时,无法启动任何Android应用程序!!

答案 5 :(得分:1)

默认设备在Android中关闭时警报不起作用,因为应该从供应商特定的较低层平台堆栈支持警报。

有些供应商选择实施此功能,而有些供应商则没有。

请参阅this link了解更多详情。

回过头来看,是的,如果您可以访问平台堆栈的较低层(固件)并且底层硬件支持它,则可以将设备从电源关闭唤醒,简而言之,如果您正在为设备供应商工作。

对于普通的第三方应用程序开发人员来说,现在不可能。 如果android和供应商都希望能够为此功能提供支持,那么将来有可能。

答案 6 :(得分:1)

不,当设备关闭时,无法运行您的代码。

但是是的,你可以实现像闹钟一样的功能(因为你要问"警报是如何工作的?")。

步骤1:您可以使用AlarmManager课程设置闹钟。

步骤2:SharedPreferences

中将时间值存储到触发警报

步骤3(可选):当Android设备关闭时,您可能希望存储一些包含ACTION_SHUTDOWN或QUICKBOOT_POWEROFF事件的数据{。3}}。

步骤4:您还可以在RECEIVE_BOOT_COMPLETED(link1)的帮助下获取设备启动事件,并且您可以使用 您在SharedPreferences中存储的设备当前时间和时间的差异。

答案 7 :(得分:1)

不,如果手机关闭,则无法执行任何操作。如果它处于睡眠模式,屏幕关闭且未使用,则警报仍将像其他类型的通知一样起作用。我从来没有在Galaxy S上专门尝试这个,但我相信这是一个普遍的规则。