使用Firebase Database SDK的网络连接检查功能,以确保设备有互联网连接。
以下是示例代码:
private DatabaseReference mDatabase;
private ValueEventListener mListener;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
// 获取实时数据库引用
mDatabase = FirebaseDatabase.getInstance().getReference();
// 设置数据监听器
mListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// 处理数据变化
}
@Override
public void onCancelled(DatabaseError databaseError) {
// 处理取消事件
}
};
// 检查网络连接
if (isOnline()) {
// 有互联网连接,启动数据监听
mDatabase.addValueEventListener(mListener);
} else {
// 没有互联网连接,显示错误消息
Toast.makeText(this, "无法连接到互联网", Toast.LENGTH_SHORT).show();
}
}
// 检查网络连接的方法 private boolean isOnline() { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); return netInfo != null && netInfo.isConnectedOrConnecting(); }
@Override protected void onDestroy() { super.onDestroy();
// 移除数据监听器
if (mListener != null) {
mDatabase.removeEventListener(mListener);
}
}