gpt4 book ai didi

android - 没有互联网连接时,Google API 客户端连接方法会卡住 UI

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:37:10 25 4
gpt4 key购买 nike

我在文档中读到连接方法“立即返回,并在后台连接到服务”。但我认为情况并非如此,至少对我而言。

我什至为 connect 方法创建了一个单独的线程,但每次调用 onStart 方法(我尝试连接的地方)时 UI 仍然卡住。

注意:只有在没有互联网连接时才会发生这种情况。

那么我该如何解决这个问题呢?谢谢

最佳答案

像上面说的检查你是否有互联网连接..!!

 private void CheckConnection() {

ConnectivityManager cm = (ConnectivityManager) getApplicationContext()
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
if (null != activeNetwork) {
if(activeNetwork.getType() == ConnectivityManager.TYPE_WIFI)
answer="You are connected to a WiFi Network";
System.out.println(answer);
if(activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE)
answer="You are connected to a Mobile Network";
}
else
answer = "No internet Connectivity";
Toast.makeText(getApplicationContext(), answer, Toast.LENGTH_LONG).show();
}

在 list 文件中添加

 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

如果在 Activity 中

@Override
protected void onStart() {
super.onStart();
if (!googleApiClient.isConnecting() || !googleApiClient.isConnected()) {
googleApiClient.connect();
}
}

并且在Oncreate函数

 //Initializing googleApiClient
googleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
googleApiClient.connect();

在服务类中,在 Oncreate 上执行上述操作。

关于android - 没有互联网连接时,Google API 客户端连接方法会卡住 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com