2017-06-26 1 views
1

私の地域は次のとおりです。Androidのビーコンライブラリリファレンスアプリケーションのヘルプ(didEnterRegion機能)

06-26 18:03:21.061 7394-7394/? D/BeaconReferenceApp: setting up background monitoring for beacons and power saving 

しかし、それはどのdidEnterRegionに入らない:

Region region = new Region("backgroundRegion", Identifier.parse("24DDF411-8CF1-440C87CD-E368DAF9C93E"), null, null); 

私はプログラムを起動すると、私はこのメッセージが表示されます機能

だから、私はこの行を削除:backgroundPowerSaver = new BackgroundPowerSaver(this);

そして、それは次のように、スキャン時間を変更:だから何が間違っている私は私のビーコンUUIDを確認

beaconManager.setBackgroundScanPeriod(1100l); 
beaconManager.setBackgroundBetweenScanPeriod(10000l-1100l); 

を、彼らは24DDF411-8CF1-440C87CD-E368DAF9C93E

ですか?なぜアプリケーションはdidEnterRegion機能に行かないのですか?

私はすでにそれがAltBeacons以外で動作するように働かせた...(測距機能がうまく動作!)

私の最終目標は、ビーコンが発見され、現在の時刻を取得することです...

答えて

0

Aいくつかの可能性:ながら、ビーコンは30秒かそこらのためにそれをオフにする(消えるまで

  1. あなたはビーコン地域ですでにをしている場合は、あなたが2番目のコールバックを取得することはできませんし、オンに戻すことアプリが実行中です)。Altあなたのアプリが起動したときにいつも呼び出されるdidDetermineStateForRegionという呼び出しを探すことができます。これは、あなたが内か外かを知らせるフラグで行われます。

  2. ロケーションに実行時アクセス権を付与していることを確認してください。

  3. 携帯電話の設定が有効になっていることを確認してください。

  4. は、ビーコンは、あなたが適切なBeaconParserが設定されていることを確認してください探してアプリhttps://play.google.com/store/apps/details?id=com.radiusnetworks.locate&hl=en

  5. を使用して、その識別子を送信していることを確認します。質問にはEddystoneというタグが付いていますが、最初の識別子としてiBeaconまたはAltBeacon形式のUUIDが表示されます。カスタムビーコンパーサーが設定されていますか?どのビーコンタイプを検出しようとしていますか?

+0

詳細な回答ありがとうございます。場所がオンになっている理由は1つだけです。このようにして、バッテリーはもっと早く消費されることはありませんか? – pb772

+1

Android 6では、ユーザーがその場所を有効にして、アプリがBluetoothビーコンをスキャンできるようにする必要があります。その理由はプライバシーと関係があります。ビーコンを使用して場所を推測することができるため、ユーザーはこれを簡単にオプトインしたりオプトアウトすることができます。明確にするために、場所の設定でビーコンスキャンが行われ、GPS *をオンにすることができます。必ずしも両方がオンになるわけではありません。したがって、余分なバッテリーの消耗は必ずしもありません。 – davidgyoung

+0

ありがとうございます、アプリケーションでこのdidDetermineStateForRegionがどのように変化しますか?それが呼び出されると、それが呼び出されるとビーコンが残っているときにそれが呼び出される地域でenteresときに?外出中と外出中に違いはありませんか?私はこの2つの動作を区別する必要がありますあなたは何か提案がありますか? – pb772