1

iBeacon を使用するのは初めてです。それで、それを検出する方法を教えてもらえますか(コード例を教えてください)。どうもありがとう。それは私にとって非常に重要です。

4

1 に答える 1

6

オープン ソースのAndroid iBeacon ライブラリを使用すると、これを行うことができます。

基本的なコード サンプルを次に示します。

public class MonitoringActivity extends Activity implements IBeaconConsumer {
  protected static final String TAG = "RangingActivity";
  private IBeaconManager iBeaconManager = IBeaconManager.getInstanceForApplication(this);

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_ranging);
    iBeaconManager.bind(this);
  }
  @Override 
  protected void onDestroy() {
    super.onDestroy();
    iBeaconManager.unBind(this);
  }
  @Override
  public void onIBeaconServiceConnect() {
    iBeaconManager.setMonitorNotifier(new MonitorNotifier() {
    @Override
    public void didEnterRegion(Region region) {
      Log.i(TAG, "I just saw an iBeacon for the firt time!");       
    }

    @Override
    public void didExitRegion(Region region) {
      Log.i(TAG, "I no longer see an iBeacon");
    }

    @Override
    public void didDetermineStateForRegion(int state, Region region) {
        Log.i(TAG, "I have just switched from seeing/not seeing iBeacons: "+state);     
    }
    });

    try {
        iBeaconManager.startMonitoringBeaconsInRegion(new Region("myMonitoringUniqueId", null, null, null));
    } catch (RemoteException e) {   }
  }

}

完全な開示: 私は Radius Networks のチーフ エンジニアであり、ライブラリの作成者です。

于 2014-04-11T09:16:22.010 に答える