1

最近、ジンバル SDK を使い始めました。私はまだそれをテストしています。しかし、基本的な反応すら得られないようです。コードは非常に単純に見え、ドキュメントもかなりよくできています。ジンバル エリア検出を、開始するエリアに入ったことを知らせるだけのサービスで実行したいと考えています。1 つの薄いジンバルにはサポートまたはフォーラムがなく、回答を見つけるのが困難です。これが私のコードです

Notify クラスは、適切に機能する事前設定されたヘッドアップ通知です。

// MainActivity onCreate にあるメイン コード

    Notify = new NotificationHandler(this);

    Intent intent = new Intent(getApplicationContext(), Service.class);
    startService(intent);
    Notify.Notify("Service started",1000);

//これは私のサービスコードです

import android.app.IntentService;
import android.content.Intent;
import android.util.Log;

import java.util.Timer;
import java.util.TimerTask;


public class Service extends IntentService {


Timer PlacesTimer;
TimerTask timerTask;
GimbalHandler Gimbal;

@Override
protected void onHandleIntent(Intent intent)
{
    Log.d("XXX", "Intent Service executed");
    StartTimer();
}

public Service()
{
    super("MyService");
    Gimbal = new GimbalHandler(this,this);
}

public void StartTimer()
{
    PlacesTimer = new Timer();
    initializeServiceTimerTask();
    PlacesTimer.schedule(timerTask, 100, 500);
}

private void initializeServiceTimerTask()
{   timerTask = new TimerTask()
{
    @Override
    public void run()
    {
        Log.d("XXX","Timed");
    }
};
}

}

//これは私の単純なジンバル クラスです

import android.app.Activity;
import android.app.IntentService;
import android.content.Context;

import com.gimbal.android.CommunicationManager;
import com.gimbal.android.Gimbal;
import com.gimbal.android.PlaceEventListener;
import com.gimbal.android.PlaceManager;
import com.gimbal.android.Visit;

public class GimbalHandler
{
private PlaceManager placeManager;
private PlaceEventListener placeEventListener;
Context ParentContext;
Activity Act;
IntentService Service;
NotificationHandler Notify;

public GimbalHandler(Context context,IntentService Service)
{
    this.ParentContext = context;
    //this.Act = activity;
    this.Service = Service;

    Notify = new NotificationHandler(ParentContext);

    Gimbal.setApiKey(this.Service.getApplication(), "6e1536s92f3e");

    placeEventListener = new PlaceEventListener() {
        @Override
        public void onVisitStart(Visit visit) {
            Notify.Notify(visit.getPlace().getName().toString(),5);
        }

        @Override
        public void onVisitEnd(Visit visit) {
            Notify.Notify(visit.getPlace().getName().toString(),6);
        }
    };

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

    CommunicationManager.getInstance().startReceivingCommunications();

}



}
4

0 に答える 0