效果图如下:
点击检查网络按钮,提醒网络是否连接
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lesson" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".activity.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> <service android:name="com.lesson.service.MyService" ></service> </application> </manifest>
activity_main.xml:
<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" tools:context="${relativePackage}.${activityClass}" > <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:layout_marginBottom="18dp" android:text="检查网络" /> <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/button1" android:layout_centerHorizontal="true" android:layout_marginBottom="195dp" /> </RelativeLayout>
MainActivity.java
package com.lesson.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; import com.lesson.R; import com.lesson.service.MyService; public class MainActivity extends Activity { private Button button; private ImageView imageView;// 要加载的图片 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button1); imageView = (ImageView) findViewById(R.id.imageView1); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //启动service来处理广播任务 Intent intent=new Intent(MainActivity.this,MyService.class); startService(intent); } }); } }
MyService.java
package com.lesson.service; import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.IBinder; import android.util.Log; import android.widget.Toast; public class MyService extends Service{ BroadcastReceiver networkBroadcast=null; @Override public IBinder onBind(Intent intent) { return null; } @Override public void onStart(Intent intent, int startId) { super.onStart(intent, startId); IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); networkBroadcast = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { Log.i("tga", "network state changed."); if (!isNetworkAvailable(context)) { Toast.makeText(context, "network disconnected!", 0).show(); Log.i("tga", "network state wrong."); } else { Toast.makeText(context, "network connected!", 0).show(); Log.i("tga", "network state ok."); } } /** * 网络是否可用 * * @param context * @return */ public boolean isNetworkAvailable(Context context) { ConnectivityManager mgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo[] info = mgr.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } return false; } }; registerReceiver(networkBroadcast, filter); } @Override public void onCreate() { super.onCreate(); //动态注册广播接收者 } @Override public void onDestroy() { super.onDestroy(); unregisterReceiver(networkBroadcast); } }
注意点:
相关推荐
3.2.4 先来热热身——AndroidSDK例子解析 3.2.5 SDK提供的工具介绍 3.3 Android典型包分析 3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的...
3.2.4 先来热热身——AndroidSDK例子解析 3.2.5 SDK提供的工具介绍 3.3 Android典型包分析 3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的...
3.2.4 先来热热身——android sdk例子解析 28 3.2.5 sdk提供的工具介绍 31 3.3 android典型包分析 33 3.3.1 开发的基石——android api核心开发包介绍 33 3.3.2 拓展开发外延——android可选api介绍 ...
第7章 良好的学习开端——Android基本组件介绍之Android应用的灵魂——Intent和Activity介绍与实例 第7章 良好的学习开端——Android基本组件介绍之用好列表,做好程序——列表(ListView)介绍与实例 第7章 良好的...
《Android开发入门与实战》内容上涵盖了用Android开发的大部分场景,从Android基础介绍、环境搭建、SDK介绍、Market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个Android平台下的完整综合...
1. Android 简介 2. Android 开发环境的搭建 JDK 的安装(本文基于 JDK6) Android SDK 的安装 Eclipse 集成开发环境 ...3. 第一个 Android 应用程序...导入 android 的众多实例程序到 Eclipse 开发环境并部署、运行
讲解了Android开发的第一个实例,从这里开始,带领读者进入Android编程的世界。通过本章的学习,读者了解了Android开发是怎么个流程。 第6章 磨刀不误砍柴工—Android应用程序结构介绍。介绍了Android程序的组成...
讲解了Android开发的第一个实例,从这里开始,带领读者进入Android编程的世界。通过本章的学习,读者了解了Android开发是怎么个流程。 第6章 磨刀不误砍柴工—Android应用程序结构介绍。介绍了Android程序的组成...
讲解了Android开发的第一个实例,从这里开始,带领读者进入Android编程的世界。通过本章的学习,读者了解了Android开发是怎么个流程。 第6章 磨刀不误砍柴工—Android应用程序结构介绍。介绍了Android程序的组成...
9.2.1 实现Android中的广播事件 9.2.2 BroadCastReceiver介绍 9.3 应用实例详解 9.3.1 程序操作演示 9.3.2 实例编程实现 9.4 本章小结 第10章 一切为用户服务——Service应用实例 10.1 认识Service 10.2 使用...
通知(Notification)是 Android 系统中比较有特色的一个功能,当某个应用程序希望向 用户发出一些提示信息,而该应用程序又不在前台运行时,就可以借助通知来实现。发出一 条通知后,手机最上方的状态栏中会显示一...
3.2.4 先来热热身——Android SDK例子解析 28 3.2.5 SDK提供的工具介绍 31 3.3 Android典型包分析 33 3.3.1 开发的基石——Android API核心开发包介绍 33 3.3.2 拓展开发外延——Android可选API介绍 ...
该资源提供了Android源代码+程序结构说明文档。该资源对在Android4.4下与BLE...个人认为对于有一定Android设计基础的程序员们,该资源是学习蓝牙4开发的入门好资源。通过实例的延时,让我们更加了解其中的一些概念。
Android Android Android Android 开发入门 System System System System Requirements Requirements Requirements Requirements The sections below describe the system and software requirements for developing...
全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...
Android的广播与服务的讲解与实例的应用,让你更快的入门
全书共分11章,主要以范例集的方式来讲述Android的知识点,详细介绍了开发Android的人机交互界面、Android常用的开发控件、Android手机收发短信等通信服务、开发Android手机的自动服务功能和娱乐多媒体功能以及整合...