有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法让万向节检测离开或进入区域

最近我开始使用Gimbal SDK。我还在测试它。 然而,我似乎连一个基本的反应都没有。代码看起来很简单,文档也做得很好。我想在一个服务中运行万向节区域检测,它只会让您知道您已经进入了一个要开始的区域。一个薄型万向节没有支持或论坛,很难找到答案。这是我的密码

Notify类只是一个预设的平视通知,它工作得很好

//我的MainActivity onCreate中的主代码

    Notify = new NotificationHandler(this);

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

//这是我的服务代码

import 安卓.app.IntentService;
import 安卓.content.Intent;
import 安卓.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 安卓.app.Activity;
import 安卓.app.IntentService;
import 安卓.content.Context;

import com.gimbal.安卓.CommunicationManager;
import com.gimbal.安卓.Gimbal;
import com.gimbal.安卓.PlaceEventListener;
import com.gimbal.安卓.PlaceManager;
import com.gimbal.安卓.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();

}



}

共 (0) 个答案