ボタンをクリックしてクリックすると、Bluetoothがオンになっている必要があります。ここでは、Android 6.0以上のための簡単な例を紹介します。
まず、あなたのActivity
/Fragment
にこの変数を宣言:
今
public static final int PERMISSION_ASK = 1001;
を、ブルートゥースを有効にするために起こっているのは、このボタンを言わせて。 setOnClickListener
:
アプリケーションがすでに必要な権限を持っているかどうか確認する
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if(isBluetoothPermissionGranted()) {
// app already has required permissions
// do some task here
} else {
// app does not have permission yet.
// ask for permissions
askForBluetoothPermissions();
}
} else {
// Android version below 6.0, no need to check or ask for permission
// do some task here
}
}
});
:
@RequiresApi(api = Build.VERSION_CODES.M)
private boolean isBluetoothPermissionGranted() {
boolean granted = false;
int bluetoothGranted = checkSelfPermission(Manifest.permission.BLUETOOTH);
int bluetoothAdminGranted = checkSelfPermission(Manifest.permission.BLUETOOTH_ADMIN);
if(bluetoothGranted == PackageManager.PERMISSION_GRANTED &&
bluetoothAdminGranted == PackageManager.PERMISSION_GRANTED) {
granted = true;
}
return granted;
}
必要な権限が与えられていない場合、ここにあなたがそれを頼む方法は次のとおりです。
@RequiresApi(api = Build.VERSION_CODES.M)
private void askForBluetoothPermissions() {
String[] permissions = new String[] {
Manifest.permission.BLUETOOTH,
Manifest.permission.BLUETOOTH_ADMIN
};
requestPermissions(permissions, PERMISSION_ASK);
}
そして最後にユーザーがあなたに許可を与えたかどうかを確認する方法は次のとおりです。
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {
case PERMISSION_ASK:
if(grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) {
// all requested permissions were granted
// perform your task here
} else {
// permissions not granted
// DO NOT PERFORM THE TASK, it will fail/crash
}
break;
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
break;
}
}
希望は、これはあなたが許可を使用しているので、
を持つこともいいです。 –
Android 6.0以上でテストしていますか?実行時に許可を要求する必要があります。 'AndroidManifest.xml'でパーミッションを持つだけでは不十分です。ここをクリックしてください:https://developer.android.com/training/permissions/requesting.htmlここで簡単な例をご覧ください:http://stackoverflow.com/questions/33666071/android-marshmallow-request-permission?answertab=active# tab-top –
@ th3pat3l具体的にどのようにブルートゥースの実行時のアクセス権を行うのですか教えてください。 – ComputerGeek101