Получить регистрационный идентификатор с помощью c2dm на эмуляторе - PullRequest
1 голос
/ 31 января 2011

Привет ~ Я новичок в Android.И я пытаюсь получить идентификатор регистрации, используя простой код Google c2dm ... и вот мой код ...

Intent registrationIntent = new Intent ("com.google.android.c2dm.intent.REGISTER");
     registrationIntent.setPackage("com.imei"); //"com.imei"
   registrationIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent   (), 0));
      registrationIntent.putExtra("sender", "corxxxxx@gmail.com"); 
      Log.d("WelcomeScreen","corxxxxx@gmail.com");

      TextView textview = (TextView)this.findViewById(R.id.textview);
      textview.setText("The Show Start...");

      Button mbutton = (Button)this.findViewById(R.id.button); //set a button to jump    
      mbutton.setOnClickListener(new View.OnClickListener()
{
  public void onClick(View v)
  { 
   System.out.println("adds");  //just for check
   startService(registrationIntent);
   Intent intent = new Intent(imei.this, showthinga.class);
   startActivity(intent);
   handleRegistration(getApplicationContext(), registrationIntent); 
   System.out.println("end");  //just for check
    }
  }); 
}

private void handleRegistration(Context context, Intent intent) 

{
String registration = intent.getStringExtra ("registration_id");
if (intent.getStringExtra ("error")! = Null) {
// Регистрация не удалась, повторите попытку позже.Log.e ("ОШИБКА", "ОШИБКА");
} иначе if (intent.getStringExtra ("unregistered")! = Null) {
// отменена регистрация, новые сообщения от авторизованного отправителя будут отклоненыLog.e ("незарегистрированный", "незарегистрированный");
} иначе if (registration! = Null) {
// Отправить регистрационный идентификатор стороннему сайту, который отправляет сообщения.
// Это должно быть сделано в отдельной ветке.
// Когда закончите, помните, что вся регистрация выполнена.
Log.e ("регистрация", регистрация);
}
}
}

Но каждый раз, когда я смотрю на сообщение logcat ... Оно всегда показывает ... "Невозможно запустить намерение службы {act = com.google.android.c2dm.intent.REGISTER pkg = com.imei(есть дополнения): not find} "Я обновил свой avd до" Google APIS от Google Inc, Android API8, редакция 2 "... Но он все еще не работает, и это сообщение всегда показывалось ... так что ...Есть что-то, что я пропустил или что-то сделал не так?

1 Ответ

1 голос
/ 15 февраля 2011

Вам необходимо создать эмулятор на основе API Google (Google Inc.) уровня 8, а не конкретной версии ОС Android. Это можно сделать с помощью Android SDK и AVD Manager в среде подключаемых модулей eclipse.

...