就在这里。解决之前的几点
- 使您的服务变得 STICKY,并带有前台通知,因为有必要在此之前或之后工作
Build.VERSION_CODES.O
- 这个粘性服务,你应该在每次启动时启动,通过
BOOT_COMPLETED
意图操作并从接收器启动这个前台服务。
- 是的,现在它一直在那里,现在您可以随时检查您的连接
- 您可以
google-volley
用于建立连接,甚至可以使用它进行通信。
- 没有很好的文档,但我非常喜欢它,因为一旦成功添加了依赖项,它就可以完美地工作。
- 添加此依赖项需要时间,因为我说没有好的文档..
对于通讯:
StringRequest stringRequest = new StringRequest(Request.Method.POST, "https://oniony-leg.000webhostapp.com/user_validation.php",
new Response.Listener<String>()
{
@Override
public void onResponse(String response)
{
serverKeyResponse = response;
// get full table entries from below toast and writedb LICENSETABLE
//Toast.makeText(getActivity(),response,Toast.LENGTH_LONG).show();
showKeyResponse();
// Log.d("XXXXXX XXXXX", "\n SUCCESS : "+serverKeyResponse);
}
},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error)
{
serverKeyResponse = error.toString();
// show below toast in alert dialog and it happens on slow internet try again after few minutes
// on ok exit app
// Toast.makeText(getActivity(),error.toString(),Toast.LENGTH_LONG).show();
showKeyResponse();
//Log.d("YYYYYY YYYYYY", "\n FAILURE : "+serverKeyResponse);
}
})
{
@Override
protected Map<String,String> getParams()
{
Map<String,String> params = new HashMap<String, String>();
params.put("INPUT",LicenseKey.getText().toString());
params.put("USER", MainActivity.deviceid);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getActivity());
requestQueue.add(stringRequest);
您只需ECHO "SUCCESS"
使用 php(或您喜欢的任何服务器端语言)从服务器回复。作为响应检查是否SUCCESS
存在,任何其他情况..,使用您喜欢的其他关键字。你可以handle Server response errors too
。甚至您也可以在请求中从 android 进行通信 - 响应握手。但是你必须自己实现一些握手。
我希望,它有帮助...