获取activity.Media player.Android传递的服务参数

时间:2013-01-13 15:04:32

标签: android service media-player

请帮帮我。我有一个活动类和服务类。活动包含很多按钮,所以当用户点击它显示对应的按钮xml,它必须播放相应的声音。所以我通过putExtra传递参数到服务,但我无法在服务类中获取它。我在onStartCommand()中获取它,但它不创建或播放它(所以我不知道)。如何解决这个问题?谢谢。这是我的代码。 Activity.java

              public void onClick(View arg0) {
    if(arg0.getId()==R.id.Button01){
         id=arg0.getId();
        service = new Intent(this, MyService.class);
        service.putExtra("ButtonA", id);
                startService(service);

        setContentView(R.layout.button_a);

    }

.... Service.java

 public void onCreate() {}
 public int onStartCommand(Intent intent,int flags,int startId){
            Toast.makeText(this, "My Service Started", Toast.LENGTH_LONG).show();
           onHandleCommand(intent);


            return START_STICKY;
            }

    private void onHandleCommand(Intent intent) {

       if(button.equals(intent.getStringExtra("ButtonA"))){
           player = MediaPlayer.create(this, R.raw.alma);
           player.setLooping(false); 
            } else if(button.equals(intent.getStringExtra("ButtonAE"))){
                player = MediaPlayer.create(this, R.raw.azhe);
                 player.setLooping(false); 
            }

    }

1 个答案:

答案 0 :(得分:0)

抱歉,我错过了这一点,onHandleCommand是您自己的方法,您无法覆盖它。 看起来你的问题就在这里:

  if(button.equals(intent.getStringExtra("ButtonA")))

你在这里作为额外的意图传递给你的是什么? 你想要比较什么?一个按钮和一个字符串?