-1
我在Android服務使用JsonArrayRequest:Android的凌空JsonArrayRequest在服務
public int onStartCommand(Intent intent, int flags, final int startId) {
//...
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest
(Request.Method.GET, url, "", new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
Log.i("SUCCESS", response.toString());
stopSelf(startId);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
stopSelf(startId);
}
});
CORE.getInstance(getApplicationContext()).addToRequestQueue(jsonArrayRequest);
Log.i("StationsService", "onStartCommand END");
return START_STICKY;
}
運行後我得到stopSelf(startId)異常;:
java.lang.IllegalMonitorStateException: object not locked by thread before wait()
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:401)
at com.omsk.wwtlf.istanbultransportnet.api.services.StationsService$1.onResponse(StationsService.java:42)
at com.omsk.wwtlf.istanbultransportnet.api.services.StationsService$1.onResponse(StationsService.java:36)
at com.android.volley.toolbox.JsonRequest.deliverResponse(JsonRequest.java:65)
at com.android.volley.ExecutorDelivery$ResponseDeliveryRunnable.run(ExecutorDelivery.java:99)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
你能勸有道停止來自Volley的服務?
我刪除從構造此參數,JsonArrayRequest jsonArrayRequest =新JsonArrayRequest (Request.Method.GET,網址,新的Response.Listener .... 異常仍然是一樣的。 –
WWTLF