2016-09-29 63 views

回答

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 
    } 
} 
} 
+0

嗨,王子,謝謝你的時間。然而,我的問題涉及耳機按鈕事件,而不是常規事件。 – palmering

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操作並自行實施您的行爲。

+1

嗨@tynn,謝謝你的幫助。我已經在developer.android.com上看到過這些東西,但不幸的是我沒有足夠的編程知識來編寫代碼。我正在尋找一個準備添加剩餘代碼的「按鍵」事件示例。 – palmering