android 登錄前檢查網絡狀態
https://1002878825-qq-com.iteye.com/blog/1194801
- package com.dx;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.Context;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import android.net.NetworkInfo.State;
- import android.os.Bundle;
- import android.widget.TextView;
- public class Main extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- // setContentView(R.layout.main);
- TextView textView = new TextView(this);
- textView.setText("網絡檢測");
- setContentView(textView);
- if(checkNetWorkInfo()){
- goToNetWork();
- };
- }
- private boolean goToNetWork() {
- // TODO Auto-generated method stub
- ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo info = connectivityManager.getActiveNetworkInfo();
- if(info == null || !info.isAvailable()){
- new AlertDialog.Builder(this).setMessage("沒有可以使用的網絡").setPositiveButton("Ok", null).show();
- return false;
- }
- else{
- new AlertDialog.Builder(this).setMessage("網絡正常可以使用").setPositiveButton("Ok", null).show();
- return true;
- }
- }
- private boolean checkNetWorkInfo() {
- // TODO Auto-generated method stub
- ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
- State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
- if(wifi != null){
- new AlertDialog.Builder(this).setMessage(wifi.toString()).setPositiveButton("wifi", null).show();//顯示wifi網絡連接狀態
- return true;
- }else{
- State mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
- if(mobile != null){
- new AlertDialog.Builder(this).setMessage(mobile.toString()).setPositiveButton("3G", null).show();//顯示3G網絡連接狀態
- return true;
- }
- }
- return false;
- }
- }
在手機應用與網絡交互數據的時候,我們首先要判斷有沒有可用的網絡,如果沒有則跳到相應的網絡設置頁麵,方法詳見代碼:
private boolean CheckNetwork() { boolean flag = false; ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (cwjManager.getActiveNetworkInfo() != null) flag = cwjManager.getActiveNetworkInfo().isAvailable(); if (!flag) { Builder b = new AlertDialog.Builder(this).setTitle("沒有可用的網絡").setMessage("請開啟GPRS或WIFI網絡連接"); b.setPositiveButton("確定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { Intent mIntent = new Intent("/"); ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings"); mIntent.setComponent(comp); mIntent.setAction("android.intent.action.VIEW"); startActivity(mIntent); } }).setNeutralButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { dialog.cancel(); } }).create(); b.show(); } return flag; }
最後更新:2017-04-02 17:51:26