我正在尝试使用新的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 对象。