0

Gimbal から Android Studio に Github プロジェクトを開き、すべての gradle プロパティを更新させました。しかし、プロジェクトを実行しようとすると、ビーコンが検出されず、最悪の部分は、問題が何であるかを指摘するエラーが logcat にないことです。

私が実行したコードは次のとおりです。

public class MainActivity extends Activity {

private PlaceManager placeManager;
private BeaconManager bm;
private PlaceEventListener placeEventListener;
private ArrayAdapter<String> listAdapter;
private ListView listView;

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

    listAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1);
    listView = (ListView) findViewById(R.id.list);
    listView.setAdapter(listAdapter);

    listAdapter.add("Setting Gimbal API Key");
    listAdapter.notifyDataSetChanged();
    Gimbal.setApiKey(this.getApplication(), "my api code ");

    bm = new BeaconManager();
    bm.addListener(new BeaconEventListener() {
        @Override
        public void onBeaconSighting(BeaconSighting beaconSighting) {

            super.onBeaconSighting(beaconSighting);

            Log.d("beacon1", beaconSighting.getBeacon().toString());
            Log.d("beacon2", String.format("", beaconSighting.getRSSI()));
        }
    });
    bm.startListening();


    placeEventListener = new PlaceEventListener() {

        @Override
        public void onVisitStart(Visit visit) {

            super.onVisitStart(visit);

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

            Log.d("1", String.valueOf(visit.getArrivalTimeInMillis()));
            Log.d("2", String.valueOf(visit.getDepartureTimeInMillis()));
            Log.d("3", String.valueOf(visit.getPlace()));
            Log.d("4", String.valueOf(visit.getDwellTimeInMillis()));
            BeaconSighting demo = new BeaconSighting();
            Beacon beac = demo.getBeacon();
            Log.d("", beac.getUuid());
        }

        @Override
        public void onVisitEnd(Visit visit) {

            super.onVisitEnd(visit);

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

            Log.d("ending", "ending");
        }
    };

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

    CommunicationManager.getInstance().startReceivingCommunications();
}}

前もって感謝します。

編集1:

apk のビルド時に警告が表示されます。

Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.gimbal.location.established.e) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.
Error:warning: Ignoring InnerClasses attribute for an anonymous inner class
Error:(com.gimbal.location.established.f) that doesn't come with an
Error:associated EnclosingMethod attribute. This class was probably produced by a
Error:compiler that did not target the modern .class file format. The recommended
Error:solution is to recompile the class from source, using an up-to-date compiler
Error:and without specifying any "-target" type options. The consequence of ignoring
Error:this warning is that reflective operations on this class will incorrectly
Error:indicate that it is *not* an inner class.
4

1 に答える 1