-1

请帮帮我。我有一个活动类和服务类。活动包含很多按钮,所以当用户单击它时显示对应于按钮xml,它必须播放相应的声音。所以我通过putExtra将参数传递给服务,但我不能在服务类中获取它。我在 onStartCommand() 中获取它,但它不会创建或播放它(所以我不知道)。如何解决这个问题?谢谢。这是我的代码。活动.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);

    }

....服务.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); 
            }

    }
4

1 回答 1

0

对不起,我错过了重点,onHandleCommand是你自己的方法,你不能覆盖它。看起来你的问题在这里:

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

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

于 2013-01-13T15:09:37.627 回答