###前提・実現したいこと
プログラミング初心者で、初めてアンドロイドアプリを作ります。
AndroidスマートフォンでBeaconの情報を取得して、データベースに情報を送るアプリを作ろうとしています。
今はその前段階として、取得した情報をログに書き出すアプリを考えています。
ソースコードのアプリを実行してみたところ、エラーはおきていないのですが、Beaconの情報がログ上に書き出されず悩んでいます。
詳しい方がいらっしゃいましたらお願いします。
###該当のソースコード
java
1 2package com.example.beacon13; 3 4 5import android.content.pm.PackageManager; 6import android.os.Build; 7import android.os.Bundle; 8import android.os.RemoteException; 9import android.support.v7.app.AppCompatActivity; 10import android.util.Log; 11 12import org.altbeacon.beacon.Beacon; 13import org.altbeacon.beacon.BeaconConsumer; 14import org.altbeacon.beacon.BeaconManager; 15import org.altbeacon.beacon.BeaconParser; 16import org.altbeacon.beacon.Identifier; 17import org.altbeacon.beacon.MonitorNotifier; 18import org.altbeacon.beacon.RangeNotifier; 19import org.altbeacon.beacon.Region; 20 21import java.util.Collection; 22 23 24public class MainActivity extends AppCompatActivity implements BeaconConsumer { 25 26 27 private static final String IBEACON_FORMAT = "m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"; 28 private static final String UUID = "74A23A96-A479-4330-AEFF-2421B6CF443C"; 29 30 private BeaconManager beaconManager; 31 32 @Override 33 protected void onCreate(Bundle savedInstanceState) { 34 super.onCreate(savedInstanceState); 35 setContentView(R.layout.activity_main); 36 37 beaconManager = BeaconManager.getInstanceForApplication(this); 38 beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout(IBEACON_FORMAT)); 39 40 } 41 42 @Override 43 protected void onResume() { 44 super.onResume(); 45 Log.d("Beacon", "ENTER Region1. "); 46 // サービスの開始 47 beaconManager.bind(this); 48 } 49 50 @Override 51 public void onBeaconServiceConnect() { 52 53 //UUID,major,minorの設定 54 Identifier uuid = Identifier.parse("74A23A96-A479-4330-AEFF-2421B6CF443C"); 55 Identifier major = Identifier.parse("1"); 56 Identifier minor = Identifier.parse("1"); 57 Region mRegion = new Region("ibeacon", uuid, major, minor); 58 59 60 try { 61 // ビーコン情報の監視を開始 62 beaconManager.startMonitoringBeaconsInRegion(mRegion); 63 } catch (RemoteException e) { 64 e.printStackTrace(); 65 } 66 67 try { 68 // レンジングの開始 69 beaconManager.startRangingBeaconsInRegion(mRegion); 70 } catch (RemoteException e) { 71 e.printStackTrace(); 72 } 73 74 beaconManager.setRangeNotifier(new RangeNotifier() { 75 @Override 76 public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) { 77 // 検出したビーコンの情報を全部Logに書き出す 78 for(Beacon beacon : beacons) { 79 // ログの出力 80 Log.d("Beacon", "UUID:" + beacon.getId1() + ", major:" + beacon.getId2() 81 + ", minor:" + beacon.getId3() + ", Distance:" + beacon.getDistance() 82 + ",RSSI" + beacon.getRssi()); 83 } 84 } 85 86 87 } 88 89}
###試したこと https://qiita.com/gokoku_h/items/025f5f67926d49510f8d 上記ページのコードを加えてみましたがエラーが多発してしまい結局外しました。 ###補足情報(言語/FW/ツール等のバージョンなど) ログ上には、 11-13 19:22:13.018 23368-23416/com.example.beacon13 D/BluetoothAdapter: STATE_ON 11-13 19:22:13.018 23368-23416/com.example.beacon13 D/BluetoothLeScanner: could not find callback wrapper の表示が続けて流れています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。