使用新的GoogleApi客户端进行活动识别,而不会触发活动更新



我正在尝试使用新的GoogleApiClient在我的应用程序中设置ActivityRecognition。我在任何地方都找不到任何文档(官方安卓文档仍然引用现已弃用的活动识别客户端)。

我设法编写的代码没有触发活动更新。

1)在我的主活动创建中:

    mGoogleApiClient = new GoogleApiClient.Builder(this)
            .addApi(ActivityRecognition.API)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .build();
mGoogleApiClient.connect();

2) 内部连接:

    Intent i = new Intent(this, ActivityRecognitionIntentService.class);
    PendingIntent mActivityRecognitionPendingIntent = PendingIntent.getService(this, 0, i, PendingIntent.FLAG_UPDATE_CURRENT);
    Log.e("Aditya", "Connected to ActRec");
    ActivityRecognitionApi actRecAPI = new ActivityRecognitionApi()
    {
        public PendingResult<Status> requestActivityUpdates(GoogleApiClient googleApiClient, long l, PendingIntent pendingIntent)
        {
            Log.e("Aditya", "inside requestActivityUpdates()");
            return null;
        }
        public PendingResult<Status> removeActivityUpdates(GoogleApiClient googleApiClient, PendingIntent pendingIntent)
        {
            return null;
        }
    };
    actRecAPI.requestActivityUpdates(mGoogleApiClient, 0, mActivityRecognitionPendingIntent);

My ActivityRecognitionIntentService 从不接收更新。

我做错了什么?或者是否有任何关于通过GoogleApiClient的活动识别的文档?

解决了。连接到GoogleApiClient后,我只需要这样做就可以开始接收活动更新。

ActivityRecognition.ActivityRecognitionApi.
  requestActivityUpdates(mGoogleApiClient, 0, mActivityRecognitionPendingIntent);

无需创建自己的 ActivityRecognitionApi 对象。

最新更新