我是Java Android世界的新手。我正在开设一个课程项目,我需要一些帮助。在我的项目中,我开发了一个Android应用程序和一个Java Socket Server。 Android应用程序从服务器和服务器请求密钥生成密钥,将它们存储在其数据库中并将密钥发送回Android客户端。这工作正常。现在,在android客户端中,我必须添加一个名为“注册设备”的按钮,然后点击这个应该用GCM注册设备并将regID存储在设备中,我想用键请求添加并发送到服务器。服务器将使用密钥将regID存储在DB中。然后我想使用存储的regID向设备发送推送消息。
问题:
答案 0 :(得分:0)
我看到你已经获得了deviceID和registrationID,你必须将它存储在你的服务器上。 现在可以创建一个按钮,它将执行以下操作。 $ public void sendRegistrationIdToServer(String deviceId, 字符串registrationId){
HttpClient client = new DefaultHttpClient();
Log.d("GCM","sending to server");
HttpPost post = new HttpPost("YOur URL.php");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
// Get the deviceID
nameValuePairs.add(new BasicNameValuePair("deviceid", deviceId));
nameValuePairs.add(new BasicNameValuePair("registrationid", registrationId));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(post);
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
Log.d("GCM","sent to server");
} catch (IOException e) {
e.printStackTrace();
}
}
在服务器端,您可以收到ID并将其存储在数据库中。 希望你明白。