在模拟器上使用c2dm获取注册ID

时间:2011-01-31 12:38:07

标签: android push

嗨〜我是android的初学者。 我尝试使用谷歌的简单c2dm代码来获取注册ID ... 这是我的代码...

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) 

{
     字符串注册= intent.getStringExtra(“registration_id”);
     if(intent.getStringExtra(“error”)!= null)      {
      //注册失败,请稍后再试。       Log.e(“ERROR”,“ERROR”);
      } else if(intent.getStringExtra(“unregistered”)!= null){
      //取消注册,来自授权发件人的新邮件将被拒绝            Log.e(“未注册”,“未注册”);
      }       否则if(registration!= null)       {
       //将注册ID发送到发送消息的第三方站点        //这应该在一个单独的线程中完成        //完成后,请记住所有注册都已完成       Log.e(“注册”,注册);
       }
     }
  }

但每次当我看到我的logcat消息时...... 它总是显示...... “无法启动服务意图{act = com.google.android.c2dm.intent.REGISTER pkg = com.imei(有额外内容):找不到}” 我已经更新了“谷歌公司谷歌APIS,Android API8,修订版2”... 但它仍然无法正常工作这个消息总是出现...... 所以......我错过了什么,或者我做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要创建基于Google API(Google Inc.)8级的模拟器,而不是特定版本的Android操作系统。您可以在eclipse插件环境中从Android SDK和AVD Manager中完成此操作。