18
18

More than 5 years have passed since last update.

Android6.0(marshmallow)にOSをUpdateしたらアプリのBLE機能が動かなくなった時の対処方法

Posted at

はじめに

社内で動かしていたちょっとした端末がAndroid5.0から6.0にいつのまにかUpdateされていて、
その上で動かしていた自作アプリがBLEの信号を受信できなくなっていたのをなおした時のメモです。

症状

  • Android5.0の時は問題なくBLE周りの機能が使えていた。
  • Android6.0にUpdateされたら動かなくなっていた
  • 下記のようなログが出ている

    BroadcastQueue﹕ Permission Denial: receiving Intent   { act=android.bluetooth.device.action.FOUND 
    

対処法

この辺に詳しく書いてあるようです。
Is Your Beacon App Ready for Android 6.0?

私の場合は、 AndroidManifest.xml

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

を追加したらなおりました。

全体のPermissionは以下のようになっています。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp" >

    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />    ← この行を追加した

    <application ...

注意:BLEのみ必要なら余計なPermisionもあるかもしれません・・・

さいごに

それにしてもいつの間にかUpdateされるとは、、、

18
18
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
18