Android_SystemService
<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的更多相关文章
随机推荐
- codeforces 672C - Recycling Bottles 贪心水题
感觉很简单,就是讨论一下 #include <stdio.h> #include <string.h> #include <algorithm> #include ...
- 设计模式_Observer_观察者模式
形象例子: 想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作为订阅者(观察者)就可以及时收到情报啦.观察者 ...
- 打印出从1到最大的n位十进制数
首先这一题会溢出,要考虑的大数问题.所以不能用简单的是int类型数来表示(32位无符号int 范围是0x00000000···0xFFFFFFFF),下面主要是非递归的实现代码,自己做了注释方便以后回 ...
- bzoj 2301 [HAOI2011]Problem b(莫比乌斯反演)
Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数 ...
- NOIP2004 津津的储蓄计划
一.津津的储蓄计划 (Save.pas/dpr/c/cpp). [问题描述] 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. ...
- localtime()方法的疑惑
在做一个时间管理的APP中遇到一些问题 windows linux mac下time.h中都有关于localtime()的定义. 它不是一个保险可靠的方法,使用的时候需要小心. 参考 http://b ...
- CodeForces 696A(Lorenzo Von Matterhorn ) & CodeForces 696B(Puzzles )
A,给一棵完全二叉树,第一个操作,给两个点,两点路径上的所有边权值都增加w,第二个操作,给两个点,求两点路径上的所有边权值和. 我看一眼题就觉得是树链剖分,而我又不会树链剖分,扔掉. 后来查了题解,首 ...
- CodeForces 456D&455B--A Lot of Games(Trie+博弈)
题意:给n个字符串.进行k次游戏.每局开始,字符串为空串,然后两人轮流在末尾追加字符,保证新的字符串为集合中某字符串的前缀,不能操作者输,新一轮由上一句输的人先手. 题解: #看到此题毫无头绪,队友写 ...
- Hash (poj2002-Squares & poj3349-Snowflake Snow Snowflakes)
//突然发现好弱,好多基础的算法竟然都不会,哈希这种经典的算法,我貌似基本没怎么做过相关的题0.0 POJ2002 题意:给n个点,问有多少组四个点能组成正方形. 题解:枚举两个点,通过公式算出另外两 ...
- 2016多校第六场题解(hdu5793&hdu5794&hdu5795&hdu5800&hdu5802)
这场就做出一道题,怎么会有窝这么辣鸡的人呢? 1001 A Boring Question(hdu 5793) 很复杂的公式,打表找的规律,最后是m^0+m^1+...+m^n,题解直接是(m^(n+ ...