<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.android_systemservice.MainActivity" >
<Button
android:id="@+id/network"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="判断网络是否连接"
android:onClick="doClick"/>
<Button
android:id="@+id/enableOrDisable_WIFI"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="开关 WIFI"
android:onClick="doClick"/>
<Button
android:id="@+id/getVoice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="获取系统音量"
android:onClick="doClick"/>
<Button
android:id="@+id/getPackageName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="获取当前进程包名"
android:onClick="doClick"/>
</LinearLayout>

main.java

package com.example.android_systemservice;

import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.media.AudioManager;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
/**
getSystemService是安卓很重要的一个api,它是Activity的一个方法,
根据传入的name来取得对应的Object,然后转换成相应的服务对象
*/
public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
//利用系统服务获取布局
LayoutInflater inflater = (LayoutInflater) MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.activity_main, null);
setContentView(view);
}
public void doClick(View view){
switch(view.getId()){
case R.id.network:
if(isWorkConnected(MainActivity.this)){
Toast.makeText(MainActivity.this,"网络已经打开", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this,"网络未连接", Toast.LENGTH_SHORT).show();
}
break;
case R.id.enableOrDisable_WIFI:
WifiManager wifiManager = (WifiManager) MainActivity.this.getSystemService(WIFI_SERVICE);
if(wifiManager.isWifiEnabled()){
wifiManager.setWifiEnabled(false);
Toast.makeText(MainActivity.this, "wifi已经关闭", Toast.LENGTH_SHORT).show();
}else{
wifiManager.setWifiEnabled(true);
Toast.makeText(MainActivity.this, "wifi已经打开", Toast.LENGTH_SHORT).show(); }
break;
case R.id.getVoice:
AudioManager audioManager = (AudioManager) MainActivity.this.getSystemService(AUDIO_SERVICE);
int max = audioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM);//获取最大音量
int current = audioManager.getStreamVolume(AudioManager.STREAM_RING);//获取当前音量
Toast.makeText(MainActivity.this,"系统最大音量为:"+max+ ",系统当前音量为:"+current , Toast.LENGTH_SHORT).show();
break;
case R.id.getPackageName:
ActivityManager activityManager = (ActivityManager) MainActivity.this.getSystemService(ACTIVITY_SERVICE);
String packageName = activityManager.getRunningTasks(1).get(0).topActivity.getPackageName();
Toast.makeText(MainActivity.this,"当前包名为:"+packageName,Toast.LENGTH_SHORT).show();
break; }
}
private boolean isWorkConnected(Context context) {
// TODO Auto-generated method stub
if(context != null){
ConnectivityManager mConnectivityManager=(ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);//获取连接管理器对象
NetworkInfo activeNetworkInfo = mConnectivityManager.getActiveNetworkInfo();//得到网络信息对象
if(activeNetworkInfo != null )
return activeNetworkInfo.isAvailable();//返回当前网络的状态
}
return false;
} }

Android_SystemService的更多相关文章

随机推荐

  1. [解决]Kali Linux DHCP自动获取IP失败 坑爹的VMWare桥接

    root@kali:~# service networking restart [....] Running /etc/init.d/networking restart is deprecated ...

  2. SQL2008-查询库中是否存在某表

    select   *   from   sysobjects   where   name= 'N201111B'   and   xtype= 'U'

  3. 异步网页采集利器CasperJs

    在采集网页中,我们会经常遇到采集一些异步加载页面的网页,我们通常用的httpwebrequest类就采集不到了,这个时候我们通常会采用webbrowser来辅助采集,但是.net下自带的webbrow ...

  4. hdu 2716 Message Decowding

    Message Decowding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  5. hdoj 1402 Prepared for New Acmer【快速幂】

    Prepared for New Acmer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  6. BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇

    BAT及各大互联网公司2014前端笔试面试题:HTML/CSS篇 2014/08/03 · Web前端, 开发 · CSS, HTML, 技术面试 分享到: 188 MongoDB集群之分片技术应用 ...

  7. 用Modelsim仿真QuartusII综合后网表时库的添加方法(转)

    这两天做综合后仿真,发现FPGA器件库又不会加了,无奈上网找方法.说起来不好意思,很早就接触Modelsim这个仿真软件了,可是没有好好琢磨.把这两天找的方法贴出来,再加上自己的理解,以后忘了可以上博 ...

  8. 【AwayPhysics学习笔记】:Away3D物理引擎的简介与使用

    首先我们要了解的是AwayPhysics这个物理引擎并不是重头开始写的新物理引擎,而是使用Flascc技术把一个已经很成熟的Bullet物理引擎引入到了Flash中,同时为了让as3可以使用这个C++ ...

  9. mybatis的辅助类

    package org.ssi.util; import java.io.InputStream; import org.apache.ibatis.session.SqlSession; impor ...

  10. linux系统基础(二)

    磁盘管理(一) Linux设备认识 /dev/cdrom /dev/sr0 /dev/mouse /dev/sda /dev/hda IDE硬盘(支持4块):hd(a-d) [非IDE硬盘]SCSI硬 ...