我的app遇到问题。我的应用程序具有自动启动功能,它总是会收听名为' BOOT_COMPLETED'的广播。 我想每隔5秒在我的自定义服务(startService)中执行一个循环请求。当我启动应用程序时,一切看起来都很好。
当我重新启动手机时,问题就出现了。因为应用程序可以自动启动,我什么都不做,只是看日志。 this the fail log pic
只有第一个请求会成功,其他请求都会失败(org.apache.http.conn.HttpHostConnectException:连接到http://10.0.27.46:8090被拒绝)。但是当我点击应用程序图标启动它时,它变好了每个请求都是成功的。
我无法解决问题,请帮助我:)。
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(BOOT_ACTION) || intent.getAction().equals(QUICKBOOT_ACTION) || intent.getAction().equals(REBOOT_ACTION)) {
Intent mainActivityIntent = new Intent();
mainActivityIntent.setAction("GrayService");
mainActivityIntent.setPackage("com.wyk.accessibilityservicewx");
context.startService(mainActivityIntent);
}
}
try {
String uriAPI = "http://10.0.27.46:8090/crm/insert_customer_resource.json";
HttpPost httpRequest = new HttpPost(uriAPI);
List < NameValuePair > params = new ArrayList < NameValuePair > ();
params.add(new BasicNameValuePair("str", "I am Post String"));
httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
HttpResponse httpResponse = new DefaultHttpClient().execute(httpRequest);
if (httpResponse.getStatusLine().getStatusCode() == 200) {
String strResult = EntityUtils.toString(httpResponse.getEntity());
LogUtil.log("====success:" + strResult);
} else {
LogUtil.log("====fail code:" + httpResponse.getStatusLine().getStatusCode());
}
} catch (Exception e) {
e.printStackTrace();
LogUtil.log("====fail code:" + e.toString());
}
答案 0 :(得分:0)
我修好了。我的电话系统(小米)带来的问题。我应该允许我的应用程序自动启动设置。