工作闲余时间学习了下其它项目中的联网方式判断,很简单的..今天有时间就放博客里面供自己记录,有需要的朋友可以同小马交流交流,希望大家多多指点。。谢谢。。
主类:
1. package
2.
3. import
4. import
5. import
6. import
7. import
8. import
9. import
10. import
11. import
12. import
13.
14. /**
15. * @Title: JudgeNewWayDemoActivity.java
16. * @Package com.xiaoma.www
17. * @Description: 判断联网方式测试类
18. * @author MZH
19. */
20. public class JudgeNewWayDemoActivity extends
21.
22. private
23.
24. /** Called when the activity is first created. */
25. @Override
26. public void
27. super.onCreate(savedInstanceState);
28. setContentView(R.layout.main);
29.
30. /**
31. * 下面列举几个可直接跳到联网设置的意图,供大家学习
32. */
33. //startActivity(new Intent(android.provider.Settings.ACTION_APN_SETTINGS));
34. //startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));
35.
36. //用下面两种方式设置网络
37. //startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));
38. //startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
39. init();
40. }
41.
42. /**
43. * 初始化实现
44. */
45. private void
46. text = (TextView)findViewById(R.id.waytext);
47. /**获得系统级联网管理员对象*/
48. this.getSystemService(CONNECTIVITY_SERVICE);
49. NetworkInfo info = manager.getActiveNetworkInfo();
50. if(info == null){ //无网情况下
51. //跳转到网络设置页面
52. new
53. else{ //有网情况下
54. if(info.isAvailable()){ //网络可用时
55. /**是手机自带的联网方式*/
56. if(info.getType() == ConnectivityManager.TYPE_MOBILE){
57. if(info.getState() == State.CONNECTED){
58. "手机网络可用并已连接"+"\n"+"连接网络方式为:\n"+info.getType()+",MOBILE"));
59. }
60.
61. /**WIFI联网方式*/
62. else{
63. "连接网络方式为:"+info.getType()+",WI-FI"));
64. new
65. }
66. else{
67. "手机网络不可用"));
68. }
69.
70. }
71. }
72.
73. /**
74. * 临时写来练练的方法,大家可以跳过
75. */
76. private void
77. "content://telephony/carriers");
78. null, null, null, null);
79. while(cr!=null
80. // APN id
81. "_id"));
82. // APN name
83. "apn"));
84. // do other things...
85. }
86. }
87.
88.
89. /**
90. * 移动或联通ctwap cmwap 判断 这个方法朋友们可根据自己的需要使用,小马
91. * 只是记在这个地方,供自己记录的,有需要的朋友可以交流讨论下..吼吼
92. */
93. @SuppressWarnings("unused")
94. private void
95. //ConnectivityManager: Class that answers queries about the state of network connectivity.
96. ConnectivityManager conMan = (ConnectivityManager)
97. getSystemService(Context.CONNECTIVITY_SERVICE);
98. NetworkInfo netInfo = conMan.getActiveNetworkInfo();
99. if (netInfo != null) {
100. //Report the extra information about the network state
101. if (extraInfo != null) {
102. if (extraInfo.equals("cmwap")) {
103.
104. else if(extraInfo.equals("ctwap") || extraInfo.equals("#777")){
105.
106. }
107. }
108. }
109. }
110.
111.
112. }
WIFI控制类:
1. package
2.
3. import
4.
5. import
6. import
7. import
8. import
9. import
10. import
11.
12. /**
13. * @Title: WifiCheckUtil.java
14. * @Package com.lg.lvguo.util
15. * @Description: WIFI控制类
16. * @author MZH
17. * @version FG1.0
18. */
19. public class
20. //定义WifiManager对象
21. private
22. //定义WifiInfo对象
23. private
24. //扫描出的网络连接列表
25. private
26. //网络连接列表
27. private
28. //定义一个WifiLock
29. WifiLock mWifiLock;
30. //构造器
31. public
32. {
33. //取得WifiManager对象
34. mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
35. //取得WifiInfo对象
36. mWifiInfo = mWifiManager.getConnectionInfo();
37. }
38. //取到WIFI状态
39. public int
40. return
41. }
42. //打开WIFI
43. public void
44. {
45. if
46. {
47. true);
48.
49. }
50. }
51. //关闭WIFI
52. public void
53. {
54. if
55. {
56. false);
57. }
58. }
59. //锁定WifiLock
60. public void
61. {
62. mWifiLock.acquire();
63. }
64. //解锁WifiLock
65. public void
66. {
67. //判断时候锁定
68. if
69. {
70. mWifiLock.acquire();
71. }
72. }
73. //创建一个WifiLock
74. public void
75. {
76. "Lock");
77. }
78. //得到配置好的网络
79. public
80. {
81. return
82. }
83. //指定配置好的网络进行连接
84. public void ConnectConfiguration(int
85. {
86. //索引大于配置好的网络索引返回
87. if(index > mWifiConfiguration.size())
88. {
89. return;
90. }
91. //连接配置好的指定ID的网络
92. true);
93. }
94. public void
95. {
96. mWifiManager.startScan();
97. //得到扫描结果
98. mWifiList = mWifiManager.getScanResults();
99. //得到配置好的网络连接
100. mWifiConfiguration = mWifiManager.getConfiguredNetworks();
101. }
102. //得到网络列表
103. public
104. {
105. return
106. }
107. //查看扫描结果
108. public
109. {
110. new
111. for (int i = 0; i < mWifiList.size(); i++)
112. {
113. "Index_"+new Integer(i + 1).toString() + ":");
114. //将ScanResult信息转换成一个字符串包
115. //其中把包括:BSSID、SSID、capabilities、frequency、level
116. stringBuilder.append((mWifiList.get(i)).toString());
117. "/n");
118. }
119. return
120. }
121. //得到MAC地址
122. public
123. {
124. return (mWifiInfo == null) ? "NULL"
125. }
126. //得到接入点的BSSID
127. public
128. {
129. return (mWifiInfo == null) ? "NULL"
130. }
131. //得到IP地址
132. public int
133. {
134. return (mWifiInfo == null) ? 0
135. }
136. //得到连接的ID
137. public int
138. {
139. return (mWifiInfo == null) ? 0
140. }
141. //得到WifiInfo的所有信息包
142. public
143. {
144. return (mWifiInfo == null) ? "NULL"
145. }
146. //添加一个网络并连接
147. public void
148. {
149. int
150. true);
151. }
152. //断开指定ID的网络
153. public void DisconnectWifi(int
154. {
155. mWifiManager.disableNetwork(netId);
156. mWifiManager.disconnect();
157. }
158. }
全局配置文件:
1. <?xml version="1.0" encoding="utf-8"?>
2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3. package="com.xiaoma.www"
4. android:versionCode="1"
5. android:versionName="1.0" >
6.
7. <uses-sdk android:minSdkVersion="15" />
8.
9. <application
10. android:icon="@drawable/ic_launcher"
11. android:label="@string/app_name" >
12. <activity
13. android:name=".JudgeNewWayDemoActivity"
14. android:label="@string/app_name" >
15. <intent-filter>
16. <action android:name="android.intent.action.MAIN" />
17.
18. <category android:name="android.intent.category.LAUNCHER" />
19. </intent-filter>
20. </activity>
21. </application>
22. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
23. </manifest>
小DEMO源码小马放附件里面了,以备自己注意丢了,呵呵,有需要的朋友可下载下的,一起学!
https://blog.51cto.com/mzh3344258/791541