Я хочу сделать вызов php-файла, который находится на сервере, когда происходит переход (ENTER & EXIT) только на background .Я прочитал документацию к плагину cordova geofence, для чего мне нужно создать файл TransitionReceiver.java для этого.
Я прочитал нативную реализацию
Любая помощь
Я попробовал ниже код:
package com.cowbell.cordova.geofence;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.os.AsyncTask;
import com.loopj.android.http.*;
import java.util.*;
public class TransitionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Logger.setLogger(new Logger(GeofencePlugin.TAG, context, false));
Logger logger = Logger.getLogger();
String error = intent.getStringExtra("error");
if (error != null) {
//handle error
logger.log(Log.DEBUG, error);
} else {
String geofencesJson = intent.getStringExtra("transitionData");
PostLocationTask task = new TransitionReceiver.PostLocationTask();
task.execute(geofencesJson);
}
}
private class PostLocationTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... geofencesJson) {
try {
AsyncHttpClient client = new AsyncHttpClient();
RequestParams data=new RequestParams();
params.put("key1","value1");
String url="someurl/xyz.php";
client.post(url,data, new AsyncHttpResponseHandler() {
public void onStart() {
super.onStart();
}
public void onSuccess(String response) {
}
public void onFailure(Throwable e, String response) {
}
});
} catch (Throwable e) {
Log.println(Log.ERROR, GeofencePlugin.TAG, "Exception posting
geofence: " + e);
}
return "Executed";
}
@Override
protected void onPostExecute(String result) {
}
}
}
Спасибо