首页 > 解决方案 > 当 wifi 不可用但蜂窝数据在三星设备上时,ContentResolver requestSync 不会触发 SyncAdapter onPerformSync

问题描述

问题如下。我有一个有效的 SyncAdapter 和 ContentResolver 设置。onPerformSync当我打开 wifi 但 wifi 没有互联网连接(它连接到 IOT 设备)时,会发生SyncAdapters 未触发的问题。我有一张 SIM 卡,并且可以使用蜂窝数据。在应用程序中,我设置了 NetworkManager,因此我请求蜂窝数据,如下所示:

val req = NetworkRequest.Builder()
req.addTransportType(NetworkCapabilities.TRANSPORT_CELLULAR)
req.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)

如果我创建一个 API 请求而不是触发ContentResolver.requestSync它,它会正常工作。

此代码在华为平板电脑上也可以正常工作,但在三星上不能正常工作。

所以基本上。我有蜂窝互联网,但 SyncAdapter 没有意识到这一点(在三星设备上)并且没有触发onPerformSync。无论如何要让 SyncAdapter 意识到这一点?

标签: androidkotlinandroid-contentresolverandroid-syncadapternetworkmanager

解决方案


推荐阅读