我正在从事自定义ROM项目,并且需要创建服务,它可以继续通过Websocket或套接字或MQTT与我们的云服务器连接,就像Google服务正在做的那样。为此,我创建了AOSP系统服务。
我已经成功地在自定义ROM中创建了系统服务,它运行良好,但是在这个类上,我无法访问websocket或HTTPAPI。每当我要访问这些API时,aosp构建都会失败,并引发异常,如下所示。
error: package java.net.http does not exist
import java.net.http.HttpClient;
error: package java.net.http does not exist
import java.net.http.WebSocket;如何在android系统服务中访问websocket和http?
我正在使用Android-11源代码。
发布于 2022-06-09 04:35:43
为什么WebSocket和Http无法进入Android系统服务
从我通过询问论Reddit得到的响应来看,在系统服务上进行系统级的云通信似乎不是一个好做法,而且会破坏android的安全性。
除此之外,由于这个原因,这些包无法在系统服务上使用,因此在构建aosp自定义ROM时会出现异常。由于安全原因,那些HTTP和websocket包不可用。
交替法
我们可以在系统应用程序中创建服务并启用android:persistent="true"标志,这将使应用程序持久运行,服务将长期运行。在启动电话时,应用程序类onCreate()方法调用。在这里,服务不是自动启动的,因此在应用程序类中对onCreate()方法的回调中,我们必须启动服务,该服务将继续长期运行。
因此,我们可以选择此选项来为这种类型的用例进行云通信。
https://stackoverflow.com/questions/72515189
复制相似问题