Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用新的GoogleAppClient进行活动识别,不触发活动更新_Android_Activity Recognition - Fatal编程技术网

Android 使用新的GoogleAppClient进行活动识别,不触发活动更新

Android 使用新的GoogleAppClient进行活动识别,不触发活动更新,android,activity-recognition,Android,Activity Recognition,我正在尝试使用新的GoogleAppClient在我的应用程序中设置ActivityRecognition。我在任何地方都找不到任何文档(官方android文档仍然引用现在已弃用的ActivityRecognitionClient) 我设法编写的代码没有触发活动更新 1) 在我的MainActivity的onCreate中: mGoogleApiClient = new GoogleApiClient.Builder(this) .addApi(ActivityR

我正在尝试使用新的GoogleAppClient在我的应用程序中设置ActivityRecognition。我在任何地方都找不到任何文档(官方android文档仍然引用现在已弃用的ActivityRecognitionClient)

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

1) 在我的MainActivity的onCreate中:

    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);
Intent i=新的Intent(这是ActivityRecognitionIntentService.class);
PendingEvent MacTivityRecognitionPendingEvent=PendingEvent.getService(此,0,i,PendingEvent.FLAG_UPDATE_CURRENT);
Log.e(“Aditya”,“连接到ActRec”);
ActivityRecognitionApi actRecAPI=新ActivityRecognitionApi()
{
公共PendingResult请求活动更新(GoogleAppClient GoogleAppClient,长l,PendingEvent PendingEvent)
{
Log.e(“Aditya”,“inside requestActivityUpdates()”);
返回null;
}
公共未决结果移除活动更新(GoogleAppClient GoogleAppClient、PendingEvent PendingEvent)
{
返回null;
}
};
actRecAPI.RequestActivityUpdate(mgoogleapClient,0,MacTivityRecognitionPendingContent);
我的ActivityRecognitionIntentService从未收到更新


我做错了什么?或者通过GoogleAppClient anywhere是否有任何关于ActivityRecognition的文档?

解决了这个问题。在连接到GoogleAppClient之后,我必须这样做才能开始接收活动更新

ActivityRecognition.ActivityRecognitionApi.
  requestActivityUpdates(mGoogleApiClient, 0, mActivityRecognitionPendingIntent);
无需创建自己的ActivityRecognitionApi对象。

以下是文档: