一旦设备进入打盹模式,第三方应用程序是否可以获得操作?
尝试注册广播接收器以执行以下操作,
<receiver android:name="com.doze.sample.DozemodeReceiver" android:enabled="true">
<intent-filter>
<action android:name=" android.os.action.DEVICE_IDLE_MODE_CHANGED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
它不起作用(接收器没有被调用).
启用/禁用来自Settings-> apps-> my app-> Permissions的权限后,应用程序将重新启动.Adb可以看到与权限相关的应用操作已更改...,
08-31 14:30:29.480 I/ActivityManager( 8206): Displayed com.google.android.packageinstaller/com.android.packageinstaller.permission.ui.ManagePermissionsActivity: +392ms
08-31 14:30:29.496 D/OpenGLRenderer(15990): endAllStagingAnimators on 0x9a60bd80 (ListView) with handle 0x97d4c1f0
08-31 14:30:30.477 D/audio_hw_primary( 7972): out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2
08-31 14:30:30.522 D/AudioFlinger( 7972): mixer(0xb3ec0000) throttle end: throttle time(5)
08-31 14:30:31.298 I/ActivityManager( 8206): Killing 28808:com.sample.ui/u0a109 (adj 2): Permission related app op changed
Run Code Online (Sandbox Code Playgroud) 我们正在开发一个基于 VOIP 的应用程序,其中我们必须保持与服务器的 TCP 连接。为了实现这一点,我们定期向服务器发送保持活动的数据包。我们想知道设备进入打盹模式时的套接字行为。当设备进入打盹模式时,套接字连接是否保持完整或关闭。