Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了我应该何时在Android应用中与Google Play服务断开连接?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序使用位置客户端来检索当前位置,并路由到用户在地图上放置的点.我是谷歌播放服务的新手,我想知道最佳做法何时应该断开我的LOCATIOnClient?

解决方法

Android培训站点提供了两种连接和断开LOCATIOnClient的方法.在 Retrieving the Current Location训练中,LOCATIOnClient在onCreate中初始化,connect()在onStart中调用,disconnect()在onStop中调用,如此(取自 source code).

@Override
protected void onCreate(Bundle savedInstanceStatE) {
    mLOCATIOnClient = new LOCATIOnClient(this,this,this);
}

@Override
public void onStop() {
    mLOCATIOnClient.disconnect();
    super.onStop();
}

@Override
public void onStart() {
    super.onStart();
    mLOCATIOnClient.connect();
}

然后,您可以选择启动或停止位置更新的时间和位置.

Recognizing the User’s Current Activity中,每当用户想要请求或停止活动识别更新时,就初始化LOCATIOnClient.首先,调用connect(),然后在onConnected中,在调用disconnect()之后立即调用requestActivityupdates或removeActivityupdates.在示例source code中,有一个名为Detectionrequester的类,用于启动活动识别更新:

public void requestupdates() {
    getActivityRecognitionClient().connect();
}

@Override
private void onConnected() {
    getActivityRecognitionClient().requestActivityupdates(...);
    getActivityRecognitionClient().disconnect();
}

@Override
public void onDisconnected() {
    mActivityRecognitionClient = null;
}

private ActivityRecognitionClient getActivityRecognitionClient() {
    if (mActivityRecognitionClient == null) {
        mActivityRecognitionClient = new ActivityRecognitionClient(...);
    }
    return mActivityRecognitionClient;
}

还有另一个名为DetectionRemover的类似于停止活动识别更新的类.

另一种方法是在同一个类中同时使用这两个方法(requestupdates和removeupdates),如下所示:

public enum requestType {
    START,STOP;
}

@Override
public void onConnected(Bundle bundlE) {
    switch (mrequestTypE) {
        CASE staRT:
            getActivityRecognitionClient().requestActivityupdates(...);
            break;
        case STOP:
            getActivityRecognitionClient().removeActivityupdates(...);
            break;
        default:
            break;
    }
    getActivityRecognitionClient().disconnect();
}

@Override
public void onDisconnected() {
    mActivityRecognitionClient = null;
}


public void requestupdates() {
    mrequestType = requestType.START;
    getActivityRecognitionClient().connect();
}

public void removeupdates() {
    mrequestType = requestType.STOP;
    getActivityRecognitionClient().connect();
}

private ActivityRecognitionClient getActivityRecognitionClient() {
    if (mActivityRecognitionClient == null) {
        mActivityRecognitionClient = new ActivityRecognitionClient(...);
    }
    return mActivityRecognitionClient;
}

可以使用相同的方法来启动和停止位置更新.

我不知道这种方法可能被认为是最佳实践,但它们在示例源代码中.我个人在我的所有项目中使用第三种方法.第三种方法直到最近还在活动识别样本中.

大佬总结

以上是大佬教程为你收集整理的我应该何时在Android应用中与Google Play服务断开连接?全部内容,希望文章能够帮你解决我应该何时在Android应用中与Google Play服务断开连接?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。