这是我的代码:
// begin the registration process
status.setText("Registering...");
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("register.php");
SharedPreferences settings = getSharedPreferences("settings", 0);
String name = settings.getString("name", "");
String email = settings.getString("email", "");
String password = settings.getString("password", "");
//get C2DM registration ID
Context context = getApplicationContext();
C2DMessaging.register(context, "qasim1iqbal");
String reg_id = C2DMessaging.getRegistrationId(context);
String HTML = "";
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("name", name));
nameValuePairs.add(new BasicNameValuePair("email", email));
nameValuePairs.add(new BasicNameValuePair("password", password));
nameValuePairs.add(new BasicNameValuePair("reg_id", reg_id));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HTML = EntityUtils.toString(response.getEntity());
Toast msg = Toast.makeText(getApplicationContext(), HTML, Toast.LENGTH_LONG);
msg.show();
Intent i = new Intent(getBaseContext(), doneRegisterActivity.class);
startActivityForResult(i, 0);
} catch (ClientProtocolException e) {
} catch (IOException e) {
}
我在注册时收到SERVICE_NOT_AVAILABLE错误,可能是什么原因引起的?这是一项活动。
答案 0 :(得分:2)
来自C2DM page:
设备无法读取响应,或者有500/503 可以在以后重试的服务器。应用程序应该使用 指数退避并重试。
可能是服务器打嗝。 (IE,怀疑它是你的结果)。可以肯定的是,尝试将您的凭据与该页面上列出的示例应用程序之一一起使用,并查看它是否在那里工作。