之前讲的是自己定义的Service,现在我们来讲讲操作系统提供的·Service
在安卓中,很好的支持了wifi操作功能,用户只需要通过android.net.wifi.WifiManager;对象,从而进行wifi操作。
WifiMananger有多种方法,下面我们实现一个实例完成一个简单的打开关闭,做到这一点后,只要运用好service就可以不知不觉的关闭人家wifi,当然了,家里有小孩不想让他联网就可以做到这一点。
现在我们定义布局文件:
<TextView android:id="@+id/msg" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/open" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="open" android:text="打开wifi" /> <Button android:id="@+id/close" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="close" android:text="关闭wifi" /> <Button android:id="@+id/check" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="check" android:text="检查wifi" />
这里定义了三个按钮,实现
Activity代码:
public class WifiDemo extends Activity { private TextView msg=null; private WifiManager m=null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_wifi_demo); msg=(TextView)super.findViewById(R.id.msg); this.m=(WifiManager)super.getSystemService(Context.WIFI_SERVICE); } public void open(View v) { WifiDemo.this.m.setWifiEnabled(true); WifiDemo.this.msg.setText("打开Wifi,状态:"+WifiDemo.this.m.getWifiState()); } public void close(View v) { WifiDemo.this.m.setWifiEnabled(false); WifiDemo.this.msg.setText("关闭Wifi,状态:"+WifiDemo.this.m.getWifiState()); } public void check(View v) { WifiDemo.this.msg.setText("检查Wifi,状态:"+WifiDemo.this.m.getWifiState()); } }
最后不要忘记添加权限
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
实现效果如下: