我想做(例如这个): 1.- GCM到达 2.-从后台运行的服务上传一些数据到我的服务器(我不想在GCM到达时显示任何警报或播放任何声音),也许将设备当前位置上传到服务器。
我想从Phonegap这样做,所以我想我要写一个插件或找一个与javascript源通信服务的插件。我不需要Phonegap从服务接收任何类型的消息,但是服务本身将上传我需要的数据。换句话说,我将使用Phonegap作为UI并启动将完成所有工作的服务。我还需要服务启动,只要用户打开他/她的手机(我想这来自服务配置)但我认为用户必须至少启动一次应用程序(我认为这是正常的,对吗?)
我现在的问题是,当GCM到达时,我不知道如何告诉我的服务做'某事'。 任何建议将不胜感激。
答案 0 :(得分:0)
只要您在
中收到服务中的GCM消息,就会非常简单@Override
protected void onMessage(final Context arg0, final Intent arg1) {
String arr=arg1.getStringExtra("message");
arr2=arr.split("-");
Handler h = new Handler(Looper.getMainLooper());
h.post(new Runnable(){
public void run() {
// TODO Auto-generated method stub
Toast.makeText(arg0, arr2[0], Toast.LENGTH_LONG).show();
if(arr2[0]=="desired value"){
//launch a method in your service that post data to your server using requests
}
}
});
}
现在在你的服务中声明一个方法,它收集所有位置数据并将其发布到你的服务器,在void run()中调用该方法。
我希望这个解决方案可以帮到你。