Sid*_* Go 6 android google-api
我在文档中读到connect方法"立即返回,并在后台连接到服务".但我认为情况并非如此,至少对我而言.
我甚至为connect方法创建了一个单独的线程,但是每次调用UI时仍然会冻结onStart方法(我正在尝试连接).
注意:只有在没有互联网连接时才会发生这种情况.
那么我该如何解决这个问题呢?谢谢
小智 1
就像上面说的检查你是否有互联网连接..!!
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();
}
Run Code Online (Sandbox Code Playgroud)
在清单文件中添加
<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" />
Run Code Online (Sandbox Code Playgroud)
如果在活动中
@Override
protected void onStart() {
super.onStart();
if (!googleApiClient.isConnecting() || !googleApiClient.isConnected()) {
googleApiClient.connect();
}
}
Run Code Online (Sandbox Code Playgroud)
和Oncreate 函数中
//Initializing googleApiClient
googleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
googleApiClient.connect();
Run Code Online (Sandbox Code Playgroud)
在 Service 类中对Oncreate执行上述操作。
| 归档时间: |
|
| 查看次数: |
630 次 |
| 最近记录: |