动态注册 与静态注册

  
package com.example.admin.broadcastreceiver;import android.app.Activity;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.Bundle;import android.widget.Toast;public class MainActivity extends Activity {    private IntentFilter intentFilter;    private NetworkChangeReceiver networkChangeReceiver;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        intentFilter=new IntentFilter();        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");        networkChangeReceiver=new NetworkChangeReceiver();        registerReceiver(networkChangeReceiver,intentFilter);    }    @Override    protected void onDestroy() {        super.onDestroy();        unregisterReceiver(networkChangeReceiver);    }    private class NetworkChangeReceiver extends BroadcastReceiver{        @Override        public void onReceive(Context context, Intent intent) {            ConnectivityManager connectivityManager= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);            NetworkInfo networkInfo=connectivityManager.getActiveNetworkInfo();            if(networkInfo!=null&&networkInfo.isAvailable()){                Toast.makeText(context,"成功连接网络",Toast.LENGTH_SHORT).show();            }else{                Toast.makeText(context,"网络已断开",Toast.LENGTH_SHORT).show();            }        }    }}
以上为动态注册 发送广播的前提是程序启动

package com.example.admin.broadcastreceiver;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.widget.Toast;/** * Created by admin on 2016/3/17. */public class BootCompleteReceiver extends BroadcastReceiver{    @Override    public void onReceive(Context context, Intent intent) {        Toast.makeText(context,"Boot Complete",Toast.LENGTH_SHORT).show();    }}
这个代码是静态注册 开机启动

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.admin.broadcastreceiver">    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>    <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">        <activity android:name=".MainActivity">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>        <receiver android:name=".BootCompleteReceiver">            <intent-filter>                <action android:name="android.intent.action.BOOT_COMPLETED"/>            </intent-filter>        </receiver>    </application></manifest>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
第一个是网络变化系统传出

第二个是系统启动/开始传出

<receiver android:name=".BootCompleteReceiver">            <intent-filter>                <action android:name="android.intent.action.BOOT_COMPLETED"/>            </intent-filter>        </receiver>
这个表示当收到系统开启/开机传出信息之后就启动 BootCompleteReceiver 大喇叭





更多相关文章

  1. android广播 demo
  2. 【Android】判断某个App是否安装并启动(queryIntentActivities),
  3. android 音乐播放器v1.0
  4. android 程序间跳转
  5. Android(安卓)浏览器中启动自定义应用
  6. 超简单的登陆注册页面实现
  7. Android(安卓)基于surfaceView绘制正弦曲线
  8. Android(安卓)NSD注册服务,发现服务
  9. 渐显启动界面.md

随机推荐

  1. C#开发android之alertdialog用法
  2. AndroidManifest.xml文件详解(supports-sc
  3. android中的两端对齐
  4. 杂七杂八
  5. Android(安卓)如何删除短信
  6. android 按比例缩放图片(适屏)
  7. 【android】说说GestureDetector.OnGestu
  8. android notification和notificationmana
  9. android 文字或者图片生成.pdf文件
  10. android 接收锁屏广播