Android入门(52)——第七章 Android中常用的系统服务

来源:互联网 发布:栈和队列的算法 编辑:程序博客网 时间:2024/06/12 19:45

1. 简介:




2. 今天要涉及的内容:


3. 案例:

第一步:添加权限:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="comimooc.systemservicedemo"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="10" />    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>    <uses-permission android:name="android.permission.GET_TASKS"/>    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="comimooc.systemservicedemo.MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>
第二步:布局文件:

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <Button        android:id="@+id/network"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_alignParentRight="true"        android:layout_alignParentTop="true"        android:onClick="doClick"        android:text="判断网络是否连接" />    <Button        android:id="@+id/enableOrDisable_WIFI"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/network"        android:layout_alignRight="@+id/network"        android:layout_below="@+id/network"        android:onClick="doClick"        android:text="开关WIFI" />    <Button        android:id="@+id/getvoice"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/enableOrDisable_WIFI"        android:layout_alignRight="@+id/enableOrDisable_WIFI"        android:layout_below="@+id/enableOrDisable_WIFI"        android:onClick="doClick"        android:text="获取系统的音量" />    <Button        android:id="@+id/getPackagename"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/getvoice"        android:layout_alignRight="@+id/getvoice"        android:layout_below="@+id/getvoice"        android:onClick="doClick"        android:text="获取当前进程包名" /></RelativeLayout>
第三步:MainActivity文件:

package comimooc.systemservicedemo;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.View;import android.widget.Toast;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 获取系统的服务。LayoutInflater inflater = (LayoutInflater) MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);// 然后绑定一个布局转化为一个View。View view = inflater.inflate(R.layout.activity_main, null);// 这里不只是可以添加布局文件,也可以添加View的。setContentView(view);}public void doClick(View v) {switch (v.getId()) {// 判断网络是否连接:case R.id.network:if (isNetWorkConnected(MainActivity.this) == true) {Toast.makeText(MainActivity.this, "网络已经打开", Toast.LENGTH_SHORT).show();} else {Toast.makeText(MainActivity.this, "网络未连接", Toast.LENGTH_SHORT).show();}break;// 判断Wifi是否连接: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 mAudioManager = (AudioManager) MainActivity.this.getSystemService(AUDIO_SERVICE);int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM);int current = mAudioManager.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, "当前运行的Activity包名:" + packageName,Toast.LENGTH_SHORT).show();break;}}/* * 判断网络是否连接: * */public boolean isNetWorkConnected(Context context) {if (context != null) {// 获取网络连接对象ConnectivityManagerConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);// 获取当前网络信息NetworkInfo mNetWorkInfo = mConnectivityManager.getActiveNetworkInfo();if (mNetWorkInfo != null) {// 返回网络连接状态return mNetWorkInfo.isAvailable();}}return false;}}
效果图:



总结:





0 0
原创粉丝点击