我的应用中需要 httpd 服务器,所以我选择了 NanoHttpd。
我对自己的服务器进行了子类化:
public class StreamingServer extends NanoHTTPD {
private Context mContext;
public StreamingServer(Context context) {
super(8080);
mContext = context;
Log.i("MyServer", "Streaming server created");
}
我正在尝试在主要活动中启动我的服务器:
// onCreate:
server = new StreamingServer(getApplicationContext());
这是我的 onResume 方法:
// onResume:
super.onResume();
try {
server.start();
} catch (IOException e) {
Log.i(TAG, "exception!");
e.printStackTrace();
}
Log.i(TAG, "started!");
和 onPause:
super.onPause();
if (server != null) {
server.stop();
Log.i(TAG, "stopped!");
}
我也做了正确的设置:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET"/>
所以我相信我做的一切都是对的。但是启动我的应用程序一无所获(页面不可用)。一些 2 或 3 次启动如何导致服务器启动(我当时没有什么不同)。
我做错了什么?