<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. UPC OJ 一道水题 STL

    Problem C: 字符串游戏 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 10  Solved: 3 [Submit][Status][Web ...

  2. ImagePacker

    [下载]:ImagePacker 0.0.2 [作用]:将多个图片打包到指定大小的图片中,并输出配置文件.类似于 TexturePacker,不过当前只支持 Starling 格式输出(因为我现在使用 ...

  3. js,css压缩工具

    常见的js压缩工具: js commpress: 运行平台:windows系统, 优点:能自动压缩: 缺点:不能拖动文件压缩:只支持windows平台: s.press 运行平台:mac ox系统 优 ...

  4. NOIP2011 铺地毯

    1铺地毯 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有 n 张地毯,编号从 1 到n .现在将这些地毯按照编号从小到大的 ...

  5. hadoop cdh 4.5的安装配置

    春节前用的shark,是从github下载的源码,自己编译.shark的master源码仅支持hive 0.9,支持hive 0.11的shark只是个分支,不稳定,官方没有发布release版,在使 ...

  6. 【转载】 Linux用户态和内核态

    [说明]转载自 http://my.oschina.net/liubin/blog/27795 究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分 ...

  7. rpc,客户端与NameNode通信的过程

    远程过程:java进程.即一个java进程调用另外一个java进程中对象的方法. 调用方称作客户端(client),被调用方称作服务端(server).rpc的通信在java中表现为客户端去调用服务端 ...

  8. 【恒天云】OpenStack和CloudStack对比研究报告

    摘自恒天云:http://www.hengtianyun.com/download-show-id-8.html 1. 概述 常见的IaaS开源平台有OpenStack.CloudStack.Euca ...

  9. HDU-4681 String 枚举+DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4681 题意:给A,B,C三个串,求一个最长的串D,满足D是A和B的subsequence,C是D的su ...

  10. acm-DP整理

    一.背包 .各种01背包 void leastOne_Pack(int id, int num ) {//至少取一个: int i, j, c, v ; ; i <= num ; i ++ ) ...