您的位置:首页 > 移动开发 > Android开发

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文件中即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: