Android 打开系统蓝牙设置
2016-01-06 09:31
701 查看
判断蓝牙是否开启
public static boolean isBluetoothEnable() { BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); return bluetoothAdapter.isEnabled(); }
AndroidManifest文件中添加权限:
<uses-permission android:name="android.permission.BLUETOOTH" />
打开蓝牙设置
private int openSetting(String setting){ Intent intent = new Intent(); intent.setAction(Settings.ACTION_BLUETOOTH_SETTINGS); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); try{ startActivity(intent); } catch(ActivityNotFoundException ex){ ex.printStackTrace(); }catch (Exception e){ e.printStackTrace(); } }
此时发现并不能打开蓝牙设置界面,报错如下:
java.lang.SecurityException: Permission Denial: starting Intent { act=android.settings.BLUETOOTH_SETTINGS flg=0x10000000 cmp=com.android.settings/.Settings$BluetoothSettingsActivity } from ProcessRecord{4444b4b0 31323:org.zywx.wbpalmstar.widgetone.uexdevice/u0a1149} (pid=31323, uid=11149) requires android.permission.BLUETOOTH_ADMIN at android.os.Parcel.readException(Parcel.java:1472) at android.os.Parcel.readException(Parcel.java:1426) at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2317) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1437) at android.app.Activity.startActivityForResult(Activity.java:3479) at android.app.Activity.startActivityForResult(Activity.java:3440)
由log可知,权限被拒绝,但是没说是缺少什么权限,Google之后发现是缺少如下权限:
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
将其添加进AndroidManifest文件中即可。
相关文章推荐
- Android属性allowBackup安全风险浅析
- android开发实例,欢迎界面,打电话,发短信
- Android自动挂断电话
- Android中使用log4j
- Android程序调试汇总
- 《Android源码设计模式解析与实战》读书笔记(十六)
- android switch之简单自定义
- Android多媒体学习九:利用MediaRecorder类实现自己的音频录制程序
- MTK Android Driver:GPIO
- Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解
- android服务(service)初步——通话录音
- Android绘图机制(二)——自定义View绘制形, 圆形, 三角形, 扇形, 椭圆, 曲线,文字和图片的坐标讲解
- 2015年十大热门Android开源新项目
- 深入浅析Android坐标系统
- Android 反汇编Smali语言中插入log打印
- 获取Android设备唯一标识码
- android中listview分页加载数据
- android点击事件
- Android消息通知(notification)和PendingIntent传值
- Android Ant 和 Gradle 打包流程和效率对照