1、android 怎麼檢測網路是否可用
實現步驟:
1、獲取ConnectivityManager對象
Context context = activity.getApplicationContext();
// 獲取手機所有連接管理對象(包括對wi-fi,net等連接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
2、獲取NetworkInfo對象
// 獲取NetworkInfo對象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
3、判斷當前網路狀態是否為連接狀態
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
4、在AndroidManifest.xml中添加訪問當前網路狀態許可權
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
代碼如下:
public class ClassTestDemoActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
if (isNetworkAvailable(ClassTestDemoActivity.this))
{
Toast.makeText(getApplicationContext(), "當前有可用網路!", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(getApplicationContext(), "當前沒有可用網路!", Toast.LENGTH_LONG).show();
}
}
/**
* 檢查當前網路是否可用
*
* @param context
* @return
*/
public boolean isNetworkAvailable(Activity activity)
{
Context context = activity.getApplicationContext();
// 獲取手機所有連接管理對象(包括對wi-fi,net等連接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager == null)
{
return false;
}
else
{
// 獲取NetworkInfo對象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
if (networkInfo != null && networkInfo.length > 0)
{
for (int i = 0; i < networkInfo.length; i++)
{
System.out.println(i + "===狀態===" + networkInfo[i].getState());
System.out.println(i + "===類型===" + networkInfo[i].getTypeName());
// 判斷當前網路狀態是否為連接狀態
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
}
return false;
}
}
2、android判斷service是否運行
在開啟一個服務之前應該判斷該服務知否已經在運行
//本方法判斷自己些的一個Service-->com.android.controlAddFunctions.PhoneService是否已經運行
public static boolean isWorked() {
ActivityManager myManager=(ActivityManager)context.getSystemService(Co ntext.ACTIVITY_SERVICE);
ArrayList<RunningServiceInfo> runningService = (ArrayList<RunningServi ceInfo>) myManager.getRunningServices(30);
for(int i = 0 ; i<runningService.size();i++)
{
if(runningService.get(i).service.getClassName().toString().equals("c om.android.controlAddFunctions.PhoneService"))
{
return true;
}
}
return false;
}
3、Android:如何檢查伺服器是否可用
1
4、android判斷Tomcat是否可用
直接用電腦瀏覽器訪問http://127.0.0.1:8080就行了,當然如果你自己設置了埠號,就把8080改成自己的埠號就行!如果出來tomcat頁面,說明tomcat已經開啟了。
5、android怎麼判斷網路是否可用
/**
* 獲取當前網路類型
*
* @return 0:沒有網路 1:WIFI網路 2:WAP網路 3:NET網路
*/
public static int getNetworkType() {
int netType = 0;
ConnectivityManager connectivityManager = (ConnectivityManager) AppContext
.getInstance().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo == null) {
return netType;
}
int nType = networkInfo.getType();
if (nType == ConnectivityManager.TYPE_MOBILE) {
String extraInfo = networkInfo.getExtraInfo();
if (!StringUtil.isEmpty(extraInfo)) {
if (extraInfo.toLowerCase().equals("cmnet")) {
netType = NETTYPE_CMNET;
} else {
netType = NETTYPE_CMWAP;
}
}
} else if (nType == ConnectivityManager.TYPE_WIFI) {
netType = NETTYPE_WIFI;
}
return netType;
}
6、android 判斷service是否運行
獲取正在運行的所有服務,然後進行判斷,如果是自己的service,一般都是提前設置一個標識,直接判斷標識位即可;
獲取正在運行的所有服務:
PackageManager pm = contex.getPackageManager();
ActivityManager am = (ActivityManager) contex.getSystemService(ACTIVITY_SERVICE);
// 得到系統安裝的所有程序包的PackageInfo對象
List<PackageInfo> packs = pm.getInstalledPackages(0);
List<ActivityManager.RunningServiceInfo> listSer= am.getRunningServices(30);
// 獲取正在運行的服務
for (PackageInfo p : packs) {
HashMap<String, Object> map2 = new HashMap<String, Object>();
for (ActivityManager.RunningServiceInfo ra : listSer) {
if (ra.process.equals(p.applicationInfo.packageName)) {
// 獲得該進程的內存
int[] myMempid = new int[] { ra.pid };
Debug.MemoryInfo[] memoryInfo = am
.getProcessMemoryInfo(myMempid);
int memSize = memoryInfo[0].dalvikPrivateDirty;
map2.put("size", "內存為:" + memSize + "kb");
map2.put("icon", p.applicationInfo.loadIcon(pm));// 圖標
map2.put("appName", p.applicationInfo.loadLabel(pm));// 應用程序名稱
map2.put("packageName", "所在包名:"
+ p.applicationInfo.packageName);// 應用程序包名
System.out.println("pi.applicationInfo.packageName===="+p.applicationInfo.packageName);
items.add(map2);
}
}
}
7、android項目判斷是否有可用網路
從程序開發的角度來開發該功能如下代碼及代碼中的注釋即可理解:ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); // 檢查網路連接,如果無網路可用,就不需要進行連網操作等 NetworkInfo info = manager.getActiveNetworkInfo(); if (info == null || !manager.getBackgroundDataSetting()) { return "無網路鏈接"; } return "網路暢通";