<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. Live555研究之二Sleep实现

    Live555通过一个while循环来不断读取socket,判断是否有连接进来,但是Live555并没有使用Sleep函数来让线程休眠多少毫秒来降低CPU占用率.Live555是通过select函数来 ...

  2. Oracle函数:求两个数的最大公约数

    CREATE OR REPLACE FUNCTION GETGYS(NUM1 NUMBER, NUM2 NUMBER) RETURN NUMBER IS RESULTNUM NUMBER; NUM3 ...

  3. 网页加载速度优化2--先加载css,然后再加载js文件。

    网页加载时,是按从上到下,从左到右的顺序加载的.所以一定要先加载css文件(不要让用户看到一个杂乱无章的页面),最后再加载js文件,js一般都是处理功能的,所以不需要提前加载.先给用户观感,再给用户上 ...

  4. NOIP2011 观光公交

    3.观光公交 (bus.cpp/c/pas) 风景迷人的小城 Y 市,拥有 n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特 意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 ...

  5. 【暑假】[深入动态规划]UVa 10618 Tango Tango Insurrection

    UVa 10618 Tango Tango Insurrection 题目: Problem A: Tango Tango Insurrection You are attempting to lea ...

  6. 请求码(requestCode)与结果码(resultCode)解析

    Android apk开发中经常需要在活动(Activity)之间穿梭,并实现活动之间的数据传递.为了启动一个新的活动并得到该活动的返回数据,需调用方法startActivityForResult() ...

  7. rt-thread博客分享

    对于理解rtos, 国内有一个rt-thread的开源社区,里面讲解了一些rtos的很多概念,方便了理解很多问题点,博客地址如下: http://www.cnblogs.com/King-Gentle ...

  8. 【Hadoop代码笔记】目录

    整理09年时候做的Hadoop的代码笔记. 开始. [Hadoop代码笔记]Hadoop作业提交之客户端作业提交 [Hadoop代码笔记]通过JobClient对Jobtracker的调用看详细了解H ...

  9. XMPP的Stanzas

    客户端需要使用JID作为身份标石 : [user "@"]domain["/"resource]加域名可以区别重名的用户user,resource可以区分用户登 ...

  10. Java 的集合框架

    Java集合框架被设计成要满足以下几个目标. 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的. 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性. 对一 ...