2015-09-07 4 views
9

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

public class MainActivity extends Activity { 

    private PlaceManager placeManager; 
    private PlaceEventListener placeEventListener; 
    private BeaconEventListener beaconEventListener; 
    private BeaconManager beaconManager; 
    private String TAG = "beacon"; 

    public ArrayAdapter<String> listAdapter; 
    public ListView listView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     Gimbal.setApiKey(getApplication(), 
       "MY API KEY "); 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     initView(); 

     monitorPlace(); 

     listenBeacon(); 



     CommunicationManager.getInstance().startReceivingCommunications(); 

    } 

    private void listenBeacon() { 
     BeaconEventListener beaconEventListener = getBeaconEventListener(); 
     BeaconManager beaconManager = new BeaconManager(); 
     beaconManager.addListener(beaconEventListener); 
     beaconManager.startListening(); 
    } 

    private void monitorPlace() { 
     placeEventListener = getPlaceEventListener(); 

     // placeManager = PlaceManager.getInstance(); 
     // placeManager.addListener(placeEventListener); 
     placeManager = PlaceManager.getInstance(); 
     placeManager.addListener(placeEventListener); 
     placeManager.startMonitoring(); 
    } 

    private void initView() { 
     GimbalLogConfig.enableUncaughtExceptionLogging(); 
     listAdapter = new ArrayAdapter<String>(this, 
       android.R.layout.simple_expandable_list_item_1); 

     listView = (ListView) findViewById(R.id.list); 
     listView.setAdapter(listAdapter); 
     listAdapter.add(" Gimbal API Key got Set Successfuly"); 
     listAdapter.notifyDataSetChanged(); 
     GimbalDebugger.enableBeaconSightingsLogging(); 
    } 

    private BeaconEventListener getBeaconEventListener() { 
     Log.i(TAG, "BeaconEventListener started sucessfully..."); 
     BeaconEventListener beaconSightingListener = new BeaconEventListener() { 
      @Override 
      public void onBeaconSighting(BeaconSighting beaconSighting) { 

       super.onBeaconSighting(beaconSighting); 


       listAdapter.add(String.format("Name of Beacon is %s", 
         beaconSighting.getBeacon().getName())); 
       listAdapter.add(String.format("UUID is %s", beaconSighting 
         .getBeacon().getUuid())); 
       listAdapter.add(String.format("RSSI is %s", 
         beaconSighting.getRSSI())); 
       listAdapter.add(String.format("Battery Level is %s", 
         beaconSighting.getBeacon().getBatteryLevel())); 
       listAdapter.add(String.format("Temprature data is %s", 
         beaconSighting.getBeacon().getTemperature())); 

      } 
     }; 




    } 

    private PlaceEventListener getPlaceEventListener() { 

     PlaceEventListener obj = new PlaceEventListener() { 
      @Override 
      public void onBeaconSighting(BeaconSighting sight, List<Visit> visit) { 


       super.onBeaconSighting(sight, visit); 

       listAdapter.add(String.format("Beacon Found: %s", 
         sight.getBeacon())); 
       listAdapter.add(String.format("Name of Beacon is %s", sight 
         .getBeacon().getName())); 
       listAdapter.add(String.format("Identifier is %s", sight 
         .getBeacon().getIdentifier())); 
       listAdapter.add(String.format("RSSI is %s", sight.getRSSI())); 
       listAdapter.add(String.format("UUID is %s", sight.getBeacon() 
         .getUuid())); 
       listAdapter.add(String.format("Temprature is%s", sight 
         .getBeacon().getTemperature())); 
       listAdapter.add(String.format("BatteryLevel is %s", sight 
         .getBeacon().getBatteryLevel())); 
       listAdapter.add(String.format("Icon URL is %s", sight 
         .getBeacon().getIconURL())); 

       listAdapter.add(String.format("Start Visit for %s", visit 
         .iterator().toString())); 

      } 

      // @Override 
      public void onVisitStart(Visit visit) { 
       super.onVisitStart(visit); 

       listAdapter.add(String.format("Start Visit for %s", visit 
         .getPlace().getName())); 

       Toast.makeText(getApplicationContext(), 
         visit.getPlace().getName(), Toast.LENGTH_SHORT).show(); 
       listAdapter.notifyDataSetChanged(); 

      } 

      @Override 
      public void onVisitEnd(Visit visit) { 
       // TODO Auto-generated method stub 
       super.onVisitEnd(visit); 

       listAdapter.add(String.format("End Visit for %s", visit 
         .getPlace().getName())); 
       listAdapter.notifyDataSetChanged(); 

      } 

     }; 


     return obj; 
    } 

} 
+0

नमूना कोड नहीं दिखाता है कि कैसे आप BeaconEventListener उदाहरण के लिए उपयोग कर रहे हैं गिम्बल प्रबंधक में बीकन जोड़ने के लिए अनिवार्य है। क्या आपने इसे बीकनमेनगर में जोड़ा और सुनना शुरू कर दिया? – Stanislav

+0

हां मैंने बीकनएवेंट लिस्टनर के लिए एक उदाहरण बनाया और बीकनमेनगर का उपयोग करके, मैंने सुनना शुरू कर दिया। –

+0

क्या आप उस कोड को प्रश्न में भी जोड़ सकते हैं? श्रोता का निर्माण गलत जानकारी के बारे में ज्यादा जानकारी नहीं देता है। – Stanislav

उत्तर

5

गिंबल मैनेजर में बीकन विवरण जोड़ने से समस्या हल हो गई। गिम्बल टीम से नीचे लाइन समझे

यह पता लगाने बीकन

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