2016-05-13 8 views
8

मैं अपने ऐप में एंड्रॉइड बीकन लाइब्रेरी का उपयोग कर रहा हूं और मैंने प्रतिलिपि बनाई है, शब्द के लिए शब्द, उनके उदाहरण के लिए उनका उदाहरण है, लेकिन मुझे कोड के नीचे दिखाई देने वाली त्रुटि मिल रही है। किसी भी मदद बहुत सराहना की जाएगी, मैं अभी-अभी BTLE में हो रही है/बीकनएंड्रॉइड बीटीएलई -> कॉलबैक रैपर नहीं मिला

package com.example.josh.beacons; 

import android.os.Bundle; 
import android.os.RemoteException; 
import android.support.v7.app.AppCompatActivity; 
import android.util.Log; 

import org.altbeacon.beacon.Beacon; 
import org.altbeacon.beacon.BeaconConsumer; 
import org.altbeacon.beacon.BeaconManager; 
import org.altbeacon.beacon.BeaconParser; 
import org.altbeacon.beacon.RangeNotifier; 
import org.altbeacon.beacon.Region; 

import java.util.Collection; 

public class MainActivity extends AppCompatActivity implements BeaconConsumer { 
    protected static final String TAG = "RangingActivity"; 
    private BeaconManager beaconManager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     beaconManager = BeaconManager.getInstanceForApplication(this); 
     beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout("m:2-3=beac,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25")); 
     beaconManager.bind(this); 
    } 
    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     beaconManager.unbind(this); 
    } 
    @Override 
    public void onBeaconServiceConnect() { 
     beaconManager.setRangeNotifier(new RangeNotifier() { 
      @Override 
      public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) { 
       if (beacons.size() > 0) { 
        Log.i(TAG, "The first beacon I see is about " + beacons.iterator().next().getDistance() + " meters away."); 
       } 
      } 
     }); 

     try { 
      beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null)); 
     } catch (RemoteException e) { } 
    } 
} 

त्रुटियाँ मैं:

05-12 20:21:44.769 25775-25775/com.example.josh.beacons D/BluetoothAdapter: STATE_ON 
05-12 20:21:44.770 25775-25775/com.example.josh.beacons D/BluetoothLeScanner: could not find callback wrapper 
05-12 20:21:44.787 25775-26783/com.example.josh.beacons D/RangingActivity: didRangeBeacons 0 
+0

क्या आप अपने बीकन के यूयूआईडी में "myRangingUniqueId" बदलते हैं? –

+1

दरअसल, मैं कोर स्थान अनुमति का अनुरोध करना भूल गया था। समस्या हल हो गई – user3916570

उत्तर

6

सावधान रहें लाइनों आप LogCat में देख बहुत गंभीरता से अगर वे नहीं कर रहे हैं लेने के लिए नहीं अपने कोड से यह विशेष रूप से सच है यदि रेखा "डी /" से शुरू होती है, जो एक डीबग लाइन इंगित करती है, कोई त्रुटि नहीं ("ई /") मैंने दर्जनों बीकन ऐप्स बनाए हैं, मैंने उस लाइन को जितनी बार गिन सकता है उससे अधिक बार देखा है, और कर सकते हैं आत्मविश्वास से कहें कि यह किसी समस्या का संकेत नहीं देता है।

नीचे पंक्ति: आप उस संदेश को सुरक्षित रूप से अनदेखा कर सकते हैं। ध्यान रखें कि एंड्रॉइड ब्लूटूथ स्टैक लॉगकैट में कुख्यात रूप से शोर है। यह पहली पंक्ति नहीं होगी जिसे आप अनदेखा करना सीखेंगे।

+0

ठीक है, तो मुझे पता नहीं लगा कि मैं 0 बीकन का पता क्यों लगा रहा हूं। सोचा यह कारण हो सकता है। – user3916570

+0

मैंने अभी "STATE_ON" और "कॉलबैक रैपर नहीं मिला" लॉग भी शुरू कर दिया, तब से मेरा ऐप अब बीकन का पता नहीं लगा सका (पहले काम किया था)। मैं सैमसंग एस 6 6.0.1 का उपयोग कर रहा हूं और कुछ भी नहीं बदला है। हो सकता है कि https://code.google.com/p/android/issues/detail?id=191831#c64 से कनेक्ट हो, वही ऐप अभी भी अन्य फोन पर काम करता है। अजीब चीज: बीकोनिनेसाइड से बीकोनमैनगर ऐप अभी भी बीकन का पता लगाता है। – Zuop

+0

तो "** कॉलबैक रैपर नहीं मिला ** ** सुरक्षित रूप से अनदेखा किया जा सकता है? –

5

जबकि आप कर सकते हैं, जैसा कि छोड़ दिया गया जवाब कहता है, इस संदेश को सुरक्षित रूप से अनदेखा करें, यह आपको कुछ बता रहा है। अधिकतर यह आपको बता रहा है कि आपके डिवाइस में आपके ऐप के लिए स्थान अनुमतियां बंद हैं जो आपके बीकन स्कैनिंग को काम करने से रोक रही है। आप और अधिक

D/BluetoothAdapter: STATE_ON 
D/BluetoothLeScanner: onClientRegistered() - status=0 clientIf=5 

की तरह कुछ देख एप्लिकेशन उचित अनुमतियां और ठीक से स्कैनिंग रहा है, तो आप एपीआई स्तर 23+ लक्षित कर रहे हैं, भले ही आपके minsdk कम है, (16) की तरह है, तो आप निश्चित रूप से में जाँच करना चाहते हैं स्थान अनुमतियों के लिए आपका कोड सक्षम किया जा रहा है।

ऐप के लिए स्थान सेवाओं को बंद करने के कारण यह चुप हो रहा था, यह महसूस करने से पहले मैंने कई घंटे खो दिए।

+1

~ "** शायद यह आपको बता रहा है कि आपके डिवाइस में स्थान अनुमतियां बंद हैं **"। मेरे मामले में सच नहीं है। –

+0

यह प्रश्न का सही उत्तर है। – samir

संबंधित मुद्दे