android 6.0獲取藍牙權限

一、AndroidMainifest.xml權限:java

 <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

二、在代碼中動態註冊:android

  

 /*
     校驗藍牙權限
    */
    private void checkBluetoothPermission() {
        if (Build.VERSION.SDK_INT >= 23) {
            //校驗是否已具備模糊定位權限
            if (ContextCompat.checkSelfPermission(MainActivity.this,
                    Manifest.permission.ACCESS_COARSE_LOCATION)
                    != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(MainActivity.this,
                        new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},
                        REQUEST_ENABLE_BT );
            }else{
          //權限已打開 startScan(); } }else{
       //小於23版本直接使用 startScan(); } }

 三、接收請求權限的返回:ide

  

  @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        if (requestCode == REQUEST_ENABLE_BT){
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
          //藍牙權限開啓成功 startScan(); }else{ Toast.makeText(MainActivity.this, "藍牙權限未開啓,請設置", Toast.LENGTH_SHORT).show(); } } super.onRequestPermissionsResult(requestCode, permissions, grantResults); }

 

 

  檢查藍牙是否開啓:ui

  

public boolean checkBlueEnable(){
        if (mBluetoothAdapter.isEnabled()){
           return  true;
        }else {
            Toast.makeText(this,"藍牙未打開",Toast.LENGTH_SHORT).show();
            return  false;
        }
    }
相關文章
相關標籤/搜索