Skip to content

Instantly share code, notes, and snippets.

@yoggy
Created December 8, 2016 12:46
Show Gist options
  • Save yoggy/cfa4b49bf9ba4359971329694749c84f to your computer and use it in GitHub Desktop.
Save yoggy/cfa4b49bf9ba4359971329694749c84f to your computer and use it in GitHub Desktop.
//
// AndroidでBluetoothをON/OFF制御するサンプルコード
//
// BluetoothのON/OFFを制御する場合は、AndroidManifestに以下のPermissionが必要
// <uses-permission android:name="android.permission.BLUETOOTH" />
// <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
//
// license:
// Copyright (c) 2016 yoggy <[email protected]>
// Released under the MIT license
// http://opensource.org/licenses/mit-license.php;
//
package net.sabamiso.android.sample;
import android.bluetooth.BluetoothAdapter;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class BluetoothOnOffActivity extends AppCompatActivity {
Handler h = new Handler();
BluetoothAdapter mBluetoothAdapter;
TextView textViewBluetoothAdapterStatus;
Button buttonON;
Button buttonOFF;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textViewBluetoothAdapterStatus = (TextView)findViewById(R.id.textViewBluetoothAdapterStatus);
buttonON = (Button)findViewById(R.id.buttonON);
buttonON.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onButtonON();
}
});
buttonOFF = (Button)findViewById(R.id.buttonOFF);
buttonOFF.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onButtonOFF();
}
});
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
}
@Override
protected void onResume() {
super.onResume();
startTimer();
}
@Override
protected void onPause() {
super.onPause();
stopTimer();
}
void startTimer() {
h.post(timer_task);
}
void stopTimer() {
h.removeCallbacks(timer_task);
}
Runnable timer_task = new Runnable() {
@Override
public void run() {
onTimer();
h.postDelayed(timer_task, 500);
}
};
void onTimer() {
updateGUIStatu();
}
void updateGUIStatu() {
if (mBluetoothAdapter.isEnabled() == false) {
textViewBluetoothAdapterStatus.setText("無効");
buttonON.setEnabled(true);
buttonOFF.setEnabled(false);
}
else {
textViewBluetoothAdapterStatus.setText("有効");
buttonON.setEnabled(false);
buttonOFF.setEnabled(true);
}
}
private void onButtonON() {
// enableしてもmBluetoothAdapter.isEnabled()はすぐにtrueにならないので要注意。。
mBluetoothAdapter.enable();
}
private void onButtonOFF() {
mBluetoothAdapter.disable();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment