1.android6.0版本搜索藍牙需要開啟位置信息
需在Manifest中添加權限:
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
2.添加請求開啟位置信息代碼
private void mayRequestLocation() { if (Build.VERSION.SDK_INT >= 23) { int checkCallPhonePermission = ContextCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION); if(checkCallPhonePermission != PackageManager.PERMISSION_GRANTED){ //判斷是否需要 向用戶解釋,為什么要申請該權限 if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) Toast.makeText(getApplicationContext(),"6.0就是這樣坑", Toast.LENGTH_LONG).show(); ActivityCompat.requestPermissions(this ,new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},REQUEST_FINE_LOCATION); return; }else{ } } else { } }
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
switch (requestCode) {
case REQUEST_FINE_LOCATION:
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
} else{
// The user disallowed the requested permission.
}
break;
}
}
3.親測在6.0版本下可以搜索到藍牙。
4.注:掃描時需關閉WIFI!
