0

我是 Java Android 世界的新手。我正在做一个课程项目,我需要一些帮助。在我的项目中,我开发了一个 Android 应用程序和一个 Java 套接字服务器。Android App 从服务器请求密钥,服务器生成密钥,将它们存储在其数据库中并将密钥发送回 android 客户端。这工作正常。现在,在 android 客户端中,我必须添加一个名为“注册设备”的按钮,单击此按钮应向 GCM 注册设备并将 regID 存储在设备中,我想添加密钥请求并发送到服务器。服务器将使用密钥将 regID 存储在数据库中。然后稍后我想使用存储的 regID 向设备发送推送消息。

问题:

  • 如何存储然后访问 GCM regID 以发送到服务器?
  • 在我的 Socket 服务器中需要做什么才能使用存储的 regID 向设备发送推送消息?
4

1 回答 1

0

如我所见,您已经获得了 deviceID 和 registrationID,您必须将其存储在您的服务器上。现在可以创建一个按钮,它将执行以下 onclick。$ public void sendRegistrationIdToServer(String deviceId, String 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 并将其存储在您的数据库中。希望你能明白。

于 2013-05-30T05:58:28.227 回答