android 6.0獲取藍牙權限


1、AndroidMainifest.xml權限:

 <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"/>

2、在代碼中動態注冊:

  

 /*
     校驗藍牙權限
    */
    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(); } }

 3、接收請求權限的返回:

  

  @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); }

 

 

  檢查藍牙是否開啟:

  

public boolean checkBlueEnable(){
        if (mBluetoothAdapter.isEnabled()){
           return  true;
        }else {
            Toast.makeText(this,"藍牙未打開",Toast.LENGTH_SHORT).show();
            return  false;
        }
    }

  

  

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM