Android:用于启动/停止秒表的耳机按钮

时间:2016-09-29 22:33:03

标签: android button

我想使用耳机按钮来启动/停止秒表。 任何人都可以给我一些提示(代码,链接等)吗? 我的问题是如何获得按钮事件。 我在android编程中绝对是个好主意......

由于

2 个答案:

答案 0 :(得分:1)

如果你能提供源代码会更好。

要在Button上侦听事件,您必须为其设置OnClickListener。例如:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private Button button;
private boolean isStopWatchRunning=false;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button=(Button)findViewById(R.id.button);

    button.setOnClickListener(this);


}


@Override
public void onClick(View v) {
    toggle();
}

private void toggle() {
    if(isStopWatchRunning){
        //Stop StopWatch
    }else{
        //Start StopWatch
    }
}
}

答案 1 :(得分:0)

您可以使用MediaButtonReceiver接收耳机按钮点击。这与MediaSessionCompat一起使用。您需要注册服务并覆盖onStartCommand()

private MediaSessionCompat mMediaSessionCompat = ...;
public int onStartCommand(Intent intent, int flags, int startId) {
    MediaButtonReceiver.handleIntent(mMediaSessionCompat, intent);
    return super.onStartCommand(intent, flags, startId);
}

您必须提供的MediaSessionCompat.Callback,还有可用于实施的方法onPause()onStart()onStop()

但是你必须考虑你的用例,因为你已经放松了对媒体的控制。相反,您还可以查看MEDIA_BUTTON操作并自行实施您的行为。