19
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

Organization

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

はじめに

社内で動かしていたちょっとした端末が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されるとは、、、

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
19
Help us understand the problem. What are the problem?