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

posted at

Android12でBeaconが取得できない

結論

BLUETOOTH_SCANのパーミッションを要求する

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.hogehoge.androidbeaconapp">
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <-追加

    <application
        android:allowBackup="true"

必要であればrequestPermissionsにも追加

詳細

iBeaconを購入したので試しにログを出力するためにサンプルアプリを作成。パーミッション周りはaltbeaconの公式サイトのこちらを参考に設定してみたがなぜか動かない。
ログを漁ってみたところ以下のようなメッセージが表示された。

E/ScanHelper: SecurityException stopping Android O background scanner
E/CycledLeScannerForLollipop: Cannot start scan.  Security Exception: Need android.permission.BLUETOOTH_SCAN permission for android.content.AttributionSource@802cd449: GattService registerScanner

Android公式サイトを参照するとAPIレベル31から新しいBluetooth権限が追加されていることがわかりますね。
https://developer.android.com/about/versions/12/features/bluetooth-permissions?hl=ja

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?