在API 26+的安卓设备上,套接字消息不再被默认显示。如果你想要在这些设备上显示套接字消息,可以通过以下代码示例使用NetworkPolicyManager来实现:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// 获取NetworkPolicyManager实例
NetworkPolicyManager networkPolicyManager = (NetworkPolicyManager) getSystemService(Context.NETWORK_POLICY_SERVICE);
// 检查是否允许应用程序使用套接字(默认为false)
boolean isAllowSocket = networkPolicyManager.isUidNetworkingBlocked(android.os.Process.myUid());
// 如果套接字被阻止,则设置为允许
if (isAllowSocket) {
networkPolicyManager.setUidNetworkingBlocked(android.os.Process.myUid(), false);
}
}
请注意,这段代码需要在API 26+的设备上运行,并且需要相应的权限。在你的AndroidManifest.xml
文件中添加以下权限:
这样就可以在API 26+的安卓设备上显示套接字消息了。